私はスレッドがたくさんあることを知っていますが、私の問題の解決策を見つけることができません。多分私は解決策を見ることができません...UTCを現地時間に - 間違った結果を迅速に
私はUTCを受け取ります。例:12:50 私はこの時間をMEZにそれぞれ変換して、ユーザーのデバイスのタイムゾーンにします。私の例では、atmはMEZ +1 to UTCなので、私は13:50を期待しています。
これは結果午前11時50分には、今の私の現在のタイムゾーンの時間である私のコード
//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
}
です。しかし、私はこれを理解していません。私は明示的に日付を与えます。これは変換する必要があります。誰かが私の間違いがどこにあるか知っていますか?