ios - DateFormatter 返回错误的时间

标签 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)!打印:

Tuesday, September 5, 2017 (11:50 AM)"

可能是什么问题? 谢谢!

最佳答案

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

关于ios - DateFormatter 返回错误的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47298537/

相关文章:

java - 计算时差错误

objective-c - UISearchBar 选择所有文本

ios - 带有自动布局的 UILabel 高度动画

ios - Swift 中的自定义类集群

ios - Swift - 从解析中接收图像并显示它们时出现问题

ios: leftBarButtonItem.target 和 .action

ios - 使用单位符号格式化本地化数字

Android - 将日期的秒数设置为零

php - 如何使用 date() 在 php 中将时间戳转换为日期而不扭曲数据?

ios - 从 Firebase child 获取数据到 Xcode 8 swift 3 ios 10+ 中的标签