将 JSON 日期格式化为 Swift 日期无效

Formatting JSON date to Swift date doesn't work

我正在尝试格式化此日期: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)!

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

我做错了什么?谢谢!

更改毫秒格式使用 'SSS' 说明符(S 的数量等于毫秒的位数)。如需更多信息,您可以 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)

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

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

快乐编码