我真的需要你们的帮助。以下代码在 Swift Playgound 和任何 iOS8 或 8.1 模拟器中都可以正常工作。但是在 iOS7 和 7.1 中,NSDate 对象总是设置为 nil。

对象 dateString 包含一个 JSON 字符串(ISO 8601 格式),如 2015-02-28T20:15:00+0100
我正在尝试使用以下代码将此日期字符串转换为 NSDate 对象:

let dateFormatter = NSDateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
dateFormatter.timeZone = NSTimeZone.localTimeZone()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.ZZZ"
if let dateString = (json as NSDictionary).valueForKey("dateAndTime") as? String
{
   let dateObject = dateFormatter.dateFromString(dateString)
}

我的错在哪里?我开始糊涂了!
非常感谢

最佳答案

问题在于您的时区偏移量,您的日期格式不适合。使用以下格式,

"yyyy-MM-dd'T'HH:mm:ssZZZZZ"

关于ios - Swift ISO-8601 日期格式与 iOS7,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28791771/

10-13 05:52