DateFormatter返回错误的时间

时间:2017-09-05 06:30:50

标签: ios swift date nsdateformatter

我为Date做了一个返回格式化字符串的扩展名:

extension Date {
    var myFormattedDate : String {
        let formatter = DateFormatter()
        formatter.timeZone = TimeZone.current
        formatter.dateFormat = "EEEE, MMMM d, y (HH:mm a)"
        return formatter.string(for: self)!
    }
}

在运行时,我在myFormattedDate属性中设置了一个断点。

打印

po self

  

2017-09-05 08:50 :00 +0000

打印

po formatter.string(for: self)!

  

2017年9月5日(星期二)(上午11:50)

可能是什么问题? 谢谢!

1 个答案:

答案 0 :(得分:1)

打印Date始终返回 UTC时间,无论当地时区如何。如果您想在控制台中查看具有适当时区的日期,请避免直接打印Date对象。