使用iOS7进行Swift ISO-8601日期格式化

时间:2015-03-01 09:02:49

标签: ios date swift locale

我真的需要你的帮助。以下代码在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)
}

我的错误在哪里?我很困惑! 非常感谢

1 个答案:

答案 0 :(得分:5)

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

"yyyy-MM-dd'T'HH:mm:ssZZZZZ"
相关问题