【发布时间】:2018-02-19 13:14:01
【问题描述】:
我有以下字符串:20180207T124600Z
我怎样才能把它变成一个 Date 对象?
这是我当前的代码,但它返回 nil:
let dateString = "20180207T124600Z"
let dateFormatter = ISO8601DateFormatter()
dateFormatter.formatOptions = .withFullTime
print(dateFormatter.date(from: dateString))
【问题讨论】:
-
formatOptions是一个 NSOptionsSet,因此您可以使用数组指定多个选项。如果您查看您可能想要的文档withFullTime和withFullDate -
使用您当前的
dateFormatter选项,执行let date = Date.init() let str = dateFormatter.string(from:date), print("str:\(str)"),您应该会看到formatOption 不正确,请使用@Oliver Atkinson 提供的选项。 -
该日期不是 ISO-8601 格式。所以不能用
ISO8601DateFormatter解析也就不足为奇了
标签: ios swift nsdateformatter iso8601