每当有新的远程通知时,我都会收到字符串。我正在使用解析来查看我的后端。我检索的字符串来自“createdAt”列。
我试过下面的代码:
const char *
但println给我零,我认为我的日期格式有问题。我该如何解决这个问题?
答案 0 :(得分:5)
你错过了毫秒。因此:
dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
注意,从日期字符串转换为NSDate
时,您不应引用Z
。如果引用Z
,它将与文字Z
字符匹配,但无法正确反映此日期字符串实际上是Zulu / GMT / UTC。
如果你想创建另一种方式的格式化程序,将NSDate
个对象转换为字符串,在这种情况下你应引用Z
,但在这种情况下你必须记住明确设置时区:
dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
dateFormater.timeZone = NSTimeZone(forSecondsFromGMT: 0)
顺便说一下,不要忘记按Apple Technical Q&A 1480设置locale
。
dateFormater.locale = NSLocale(localeIdentifier: "en_US_POSIX")