DateFormatter 返回错误的时间[重复]
Posted
技术标签:
【中文标题】DateFormatter 返回错误的时间[重复]【英文标题】:DateFormatter returns wrong time [duplicate] 【发布时间】:2017-09-05 06:30:49 【问题描述】:我为 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】:无论本地时区如何,打印Date
始终返回UTC 时间。如果您想在控制台中查看具有正确时区的日期,请避免直接打印 Date
对象。
【讨论】:
我没有打印日期对象,首先我使用DateFormatter
并从中得到错误的时间。正如您在上面的示例中看到的那样。以上是关于DateFormatter 返回错误的时间[重复]的主要内容,如果未能解决你的问题,请参考以下文章