【问题标题】:correct format for Swift NSDateFormatterSwift NSDateFormatter 的正确格式
【发布时间】:2016-09-14 07:30:27
【问题描述】:

我有这个时间格式2016-09-06T12:44:00.118Z

NSDateformatter 的正确格式是什么?使用以下格式,它似乎没有计算正确的时间。

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

日期字符串的最后 118Z 部分可能是时区。那么这里可以使用什么 dateFormat 代替 .SSSZ ?

我找不到在这个帮助下构造正确的格式化字符串的方法,

http://userguide.icu-project.org/formatparse/datetime

【问题讨论】:

    标签: ios swift datetime timezone nsdateformatter


    【解决方案1】:

    试试这个...

    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
    dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
    dateFormatter.timeZone = NSTimeZone(name: "UTC")
    

    【讨论】:

    • 它使用这种格式解码正确的日期和时间。但不确定它是否选择了正确的时区。你能解释一下 SSS 和“Z”的作用吗?
    • SSS 是小数秒,Z 是 UTC 时区
    • 别忘了将timeZone设置为GMT,将locale设置为en_US_POSIX
    • @Rob 谢谢!在我设置 timeZonelocale 之前,我无法获取正确的日期
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    相关资源
    最近更新 更多