【问题标题】:swift 4.1 ISO8601DateFormatter doesn't parse dates passed by MRAID ad contentswift 4.1 ISO8601DateFormatter 不解析 MRAID 广告内容传递的日期
【发布时间】:2018-09-10 23:38:03
【问题描述】:
我无法控制传递给我的日期字符串,对于 MRAID 2.0 测试广告 (IAB),他们使用这种奇怪的日期格式:
2013-12-21T00:00-05:00
这在我测试过的一些日期格式化程序中解析得很好..但不使用 ISO8601DateFormatter。
如果我添加额外的零:
2013-12-21T00:00:00-05:00,然后它可以工作,但我无法控制我发送的内容。
有什么方法可以配置它来读取这种日期格式吗?
【问题讨论】:
标签:
ios
swift
foundation
iso8601
【解决方案1】:
只需使用常规的DateFormatter 和所需的dateFormat 或yyyy-MM-dd'T'HH:mmZZZZZ,并确保将格式化程序的语言环境设置为en_US_POSIX。
如果您获得多种可能格式的日期字符串,请尝试一种格式,如果返回nil,请尝试下一种可能的格式。对您必须处理的所有可能格式重复此操作。