我使用 .toISOString()
从服务器获取日期和时间返回 2018-09-30T10:36:39.165Z
。
然后我想将其转换为 Date()
在 Swift 中,这样我就可以通过添加一个小时来操纵它。我发现一个网站说格式为 .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)
关于Node.js .toISOString() 到 Swift DateFormatter(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52577403/