を返す私は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
第二の値がで正しいものです文字列形式ですが、Date()
に変換すると、間違った時刻になります第3の印刷。なぜこれが起こり、どのように解決するのですか?スウェーデンのタイムゾーンです。
これで、' dateFormatter.date(from:sweDate)! 'と何もしません!) '? 2番目の値を 'Date'にするにはどうすればいいですか? –
'Date'はタイムゾーンを保存しないので、フォーマット時に使用したタイムゾーンに関係なく、常にUTC時刻が出力されます。 – ozgur
@ozgur、はい私はそれを持っていますが、 'String'ではなく' Date'に2番目の値を取得するにはどうしたらいいですか? –