将JSON日期格式化为Swift日期不起作用

时间:2018-01-10 10:17:47

标签: ios iphone swift nsdateformatter

我尝试将此日期格式化为:2018-01-10T11:57:21.153为Swift Date这样的对象:

let dateSentString = jsonDict["date"] as! String
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormatter.date(from: dateSentString)!

出于某种原因,应用程序在最后一行崩溃。

我做错了什么?谢谢!

2 个答案:

答案 0 :(得分:2)

更改毫秒格式使用' SSS'说明符(S&#39的数量等于毫秒的位数)。有关详细信息,请获取here

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

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

完整代码

   let dateSentString = "2018-01-10T11:57:21.153"
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"
    let date = dateFormatter.date(from: dateSentString)!
    print(date)

答案 1 :(得分:0)

您必须首先为JSON设置日期格式器,然后为您想要的日期设置另一个格式化程序。 首先通过设置JSON对象中的相同格式将JSON的字符串转换为日期变量。 然后,您必须将该日期变量重新格式化为您想要的格式。

如果你愿意,我可以编写代码,但最好自己试试。

快乐编码