У меня есть следующие dateFormatter
:дата Строка Дата возвращает неправильное время
var date = Date()
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let timeZone = NSTimeZone(name:"UTC+01:00")
dateFormatter.timeZone = timeZone as TimeZone!
let sweDate = dateFormatter.string(from: date)
И когда я распечатать я получаю эти значения:
1: print(date) // 2016-11-01 10:16:19 +0000
2: print("\(dateFormatter.string(from: date))") // 2016-11-01 11:16:35
3: print(dateFormatter.date(from: sweDate)!) // 2016-11-01 10:16:41 +0000
второе значение является правильным в string, но когда я конвертирую его в Date()
, я получаю неправильное время, третий отпечаток. Почему это происходит и как его решить? Это шведский часовой пояс.
Итак, он ничего не делает с' dateFormatter.date (from: sweDate)!) 'Then? Как получить второе значение в 'Date'? –
'Date' не сохраняет часовой пояс, поэтому он всегда печатает время UTC независимо от того, какой часовой пояс вы использовали при форматировании. – ozgur
@ozgur, да, я получил его, но как получить второе значение 'Date' вместо' String'? –