2016-09-27 55 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

只有在日期格式化程序中设置的日期格式不符合收到的日期字符串时才会出现零。检查您的日期格式以获取收到的值。