将String转换为NSDate奇怪的格式

时间:2015-07-30 19:30:51

标签: ios xcode swift

我认为我的字符串日期是一种奇怪的格式,但我有以下代码:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = dateFormatter.dateFromString(subJson["lastSyncTime"].string!)

我的subJson [“lastSyncTime”]。string = 2015-07-30T11:44:37.070

不确定我做错了什么,因为我是swift的新手。看来中间的T可能搞乱了吗?但变量“date”= nil

3 个答案:

答案 0 :(得分:2)

日期字符串是ISO 8601格式的日期,因此请使用此格式

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

答案 1 :(得分:1)

我使用这种格式:

yyyy-MM-dd'T'HH:mm:ss.SSS'Z

我已尝试使用您的代码并且有效:

let subJson = "2015-07-30T11:44:37.070"

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z"
let date = dateFormatter.dateFromString(subJson)

答案 2 :(得分:0)

我会建议像这样展开它

if let dateObject = subJson?["lastSyncTime"] as? NSString {

    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MM/dd/yyyy HH:mm a"
    var dateNSDate: String = dateFormatter.dateFromString(dateObject)

}