2016-09-27 88 views
0

我打電話給API來獲取一些數據。 API響應以String格式返回日期和時間,但當我使用DateFormatter將其解析爲NSDate時,它顯示的是nil而不是date.String formate,從API獲取的是2016-10-09T12:15:17.000ZSwift - NSDateFormater不起作用

這是我的代碼。

let dateString = dataDict.objectForKey("schedule_date") as! String 
let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'" 
print(dateFormatter.dateFromString(dateString)) 
+2

將日期格式化程序更改爲'yyyy-MM-dd'T'HH:mm:ss.SSS'Z'' –

+0

可以分享您從響應中收到的樣本日期字符串嗎? – user3608500

+0

2016-10-09T12:15:17.000Z這是我從響應中得到的實際字符串。 –

回答

3

更改日期格式像yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

let dateString = dataDict.objectForKey("schedule_date") as! String 
let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" 
print(dateFormatter.dateFromString(dateString)) 

注:SSS是這裏milliseconds

0

只有在日期格式化程序中設置的日期格式不符合收到的日期字符串時纔會出現零。檢查您的日期格式以獲取收到的值。