我有以下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()
时,我得到错误的时间,第三次打印。为什么会发生这种情况,我该如何解决?这是瑞典时区。
答案 0 :(得分:1)
因为String' sweDate'不包含时区信息,因此您可以获得零区的时间。