如何将String转换为NSDate?

时间:2015-07-03 03:29:25

标签: ios swift nsdateformatter

每当有新的远程通知时,我都会收到字符串。我正在使用解析来查看我的后端。我检索的字符串来自“createdAt”列。

我试过下面的代码:

const char *

但println给我零,我认为我的日期格式有问题。我该如何解决这个问题?

1 个答案:

答案 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")