Node.js .toISOString() 到 Swift DateFormatter()

Node.js .toISOString() to Swift DateFormatter()

我正在使用 .toISOString() which returns 2018-09-30T10:36:39.165Z 从服务器获取日期和时间。

然后我想将其转换为 Swift 中的 Date(),以便我可以通过增加一个小时来操纵它。我发现一个网站说 .toISOString() 的格式是 YYYY-MM-DDTHH:mm:ss.sssZ.

然后我设置格式 swift DateFormatter():

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "YYYY-MM-DDTHH:mm:ss.sssZ"

然而,这似乎不起作用,因为当我尝试执行转换时它失败了:

guard let date = dateFormatter.date(from: time) else {
    fatalError("ERROR: Date conversion failed due to mismatched format.")
}

我认为这是我使用的格式字符串的问题,但我找不到它应该是什么,有什么想法吗?

T 放在 ' 之间:

let time = "2018-09-30T10:36:39.165Z"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

let date = dateFormatter.date(from: time)