0

I want to get current time according to my iPhone device I am using code which is giving me yesterday time. My code is

let calendar = Calendar.current
let dateStart = calendar.startOfDay(for: Date())


let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a"
dateFormatter.timeZone = TimeZone.current
let strDate = Date().description(with: Locale.current) //dateFormatter.string(from: dateStart)

print("date Start ***** (dateStart)")

By this I am getting a response :

date Start ***** 2018-02-14 18:30:00 +0000

Can anyone help me how can I get correct time today is 15-02-2018 18:00

Thanks

iGatiTech
  • 2,306
  • 1
  • 21
  • 45
Chandni
  • 692
  • 1
  • 10
  • 25

1 Answers1

1

Try this :

let calendar = Calendar.current
let dateStart = calendar.startOfDay(for: Date()) // Feb 15, 2018 at 12:00 AM"
print(dateStart) // 2018-02-14 18:30:00 +0000

let dateFormatter = DateFormatter()
var localTimeZoneAbbreviation: String { return TimeZone.current.abbreviation() ?? "UTC" }
dateFormatter.locale = Locale.init(identifier: localTimeZoneAbbreviation)
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
let newDate = dateFormatter.string(from: dateStart)
print(newDate) //  2018-02-15 00:00

Update :

// Current Time  
dateStart = Date() 
newDate = dateFormatter.string(from: dateStart)
print(newDate) //  2018-02-15 22:30
Sid Mhatre
  • 3,272
  • 1
  • 19
  • 38