macOS 10.12中的基础具有一个新类NSISO8601DateFormatter
,该类声称能够解析ISO-8601,但是我在理解如何使用它方面遇到了麻烦。
它需要一个.formatOptions
,它说它也用于解析。并非ISO-8601的全部含义都是明确的格式吗?
例如,这有效:
let f = ISO8601DateFormatter()
f.formatOptions = [.withFullDate]
f.date(from: "2018-11-26") // a Date
但这忽略了时间:
let f = ISO8601DateFormatter()
f.formatOptions = [.withFullDate]
f.date(from: "2018-11-26T18:07:13Z") // a Date but wrong
如果我添加.withFullTime
,此方法有效,但是第一个示例失败。
如何使用NSISO8601DateFormatter解析ISO-8601?我是否需要先自行自行准备,以弄清楚它使用的ISO-8601子格式是什么?