在调整时区时将特定日期字符串转换为 Swift 3 日期
Convert Specific Date String to Swift 3 Date While Adjusting for TimeZone
我知道如何将这种格式的日期字符串 (2016-11-02 05:45:05.000000
) 转换为 Swift3 中的日期,但我不明白为什么从 print 命令返回的时间与原始时间不一致这么多? 从阅读来看,它可能将其设置为不同的时区,但如果是这种情况,我该如何将其重置回原始时间?
对于我上面给出的示例时间,它看起来像下面这样不正确。请注意它关闭了许多小时。
2016-11-02 12:45:05 +0000
下面是我的代码和显示控制台打印命令的图像。
let dateString : String = task["created"]!.asDictionary!["date"]!.asString!
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss.SSSSSS"
let date = dateFormatter.date(from: dateString)
print(name)
print("\(id)")
print(desc)
print(dateString)
print(date!)
请参考图片
您需要设置时区:
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
我知道如何将这种格式的日期字符串 (2016-11-02 05:45:05.000000
) 转换为 Swift3 中的日期,但我不明白为什么从 print 命令返回的时间与原始时间不一致这么多? 从阅读来看,它可能将其设置为不同的时区,但如果是这种情况,我该如何将其重置回原始时间?
对于我上面给出的示例时间,它看起来像下面这样不正确。请注意它关闭了许多小时。
2016-11-02 12:45:05 +0000
下面是我的代码和显示控制台打印命令的图像。
let dateString : String = task["created"]!.asDictionary!["date"]!.asString!
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss.SSSSSS"
let date = dateFormatter.date(from: dateString)
print(name)
print("\(id)")
print(desc)
print(dateString)
print(date!)
请参考图片
您需要设置时区:
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)