字符串日期到日期返回错误的时间

时间:2016-11-01 10:21:19

标签: swift date nsdate locale

我有以下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()时,我得到错误的时间,第三次打印。为什么会发生这种情况,我该如何解决?这是瑞典时区。

1 个答案:

答案 0 :(得分:1)

因为String' sweDate'不包含时区信息,因此您可以获得零区的时间。