swift 4.1 ISO8601DateFormatter 不解析 MRAID 广告内容传递的日期

swift 4.1 ISO8601DateFormatter doesn't parse dates passed by MRAID ad content

我无法控制传递给我的日期字符串,在 MRAID 2.0 测试广告 (IAB) 的情况下,他们使用这种奇怪的日期格式:

2013-12-21T00:00-05:00

这在我测试过的一些日期格式化程序中确实解析得很好..但不使用 ISO8601DateFormatter。

如果我添加额外的零:

2013-12-21T00:00:00-05:00,然后它起作用了,但同样,我无法控制我发送的内容。

有没有办法配置它来读取这种日期格式?

只需使用常规 DateFormatteryyyy-MM-dd'T'HH:mmZZZZZ 所需的 dateFormat,并确保将格式化程序的语言环境设置为 en_US_POSIX

如果您获得多种可能格式的日期字符串,请尝试一种格式,如果 returns nil,请尝试下一种可能的格式。重复您必须处理的所有可能格式。