Я знаю, что есть много потоков, но я не могу найти решение для своей проблемы. Может быть, я не вижу решения ...UTC по местному времени - неверный результат swift
Я получаю UTC Время: например, 12:50 Я хочу преобразовать это время в MEZ соответственно в часовой пояс устройства пользователя. Для моего примера я ожидаю 13:50, потому что atm - MEZ +1 к UTC.
Это мой код
//transform date to string
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let newDateAsString:String = dateFormatter.string(from: self)
//is 12:50 UTC
//transform date to MEZ respectively to the local device timezone
let dateFormatterToDate = DateFormatter()
dateFormatterToDate.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
let timeZone = TimeZone.autoupdatingCurrent.identifier as String
dateFormatter.timeZone = TimeZone(identifier: timeZone)
//same result with: dateFormatter.timeZone = NSTimeZone.local
//result is 11:50 but i would expect 13:50
if let result = dateFormatterToDate.date(from: newDateAsString) {
return result
}
Результат 11:50 это время в моей текущей временной зоны. Но я этого не понимаю. Я даю явно дату, которая должна быть конвертирована. Кто-нибудь знает, где моя ошибка?