我可以使用NSISO8601DateFormatter解析ISO-8601字符串吗?

时间:2018-11-26 19:43:25

标签: macos macos-sierra foundation iso8601

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子格式是什么?

0 个答案:

没有答案