I have date string like this:-
2016-12-20T15:26:21+11:00
What kind of DateFormatter
(or else) will it required so that I can get the time in device's current time zone.
The input is ISO8601, a suitable solution is DateFormatter
. Without specific settings for locale
and timeZone
the formatter considers the current locale and time zone.
let dateString = "2016-12-20T15:26:21+11:00"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
formatter.locale = Locale(identifier: "en_US_POSIX") // set locale to reliable US_POSIX
let date = formatter.date(from:dateString)
formatter.timeStyle = .medium
formatter.dateStyle = .none
print(formatter.string(from: date!))