【发布时间】:2020-05-20 07:07:25
【问题描述】:
嗯,我有这个从后端返回的特定原始字符串,它是日期字符串"2020-05-27T23:59:59.000+02:00"
我正在尝试使用以下代码格式化字符串:-
let passExpiresAtString = "2020-05-27T23:59:59.000+02:00"
let df = DateFormatter()
df.locale = Locale(identifier: "en_US_POSIX")
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"
session.passExpiresAt = df.date(from: passExpiresAtString)
所以,如果有人能固定我,我会很高兴我在日期格式设置上做错了什么。
感谢您的帮助。
【问题讨论】:
-
它适用于我,这意味着您可能必须将格式化程序的语言环境设置为“en_US_POSIX”(比较stackoverflow.com/a/40702569/1187415)
-
@MartinR 我使用 locale ` df.locale = Locale(identifier: "en_US_POSIX")` 绑定,似乎它仍然在我的设备上返回 nil。
-
您是否先分配了区域设置,在分配日期格式之前?
-
是的,我也更新了相关代码。 @MartinR
-
上面的代码对我有用。您使用的是哪个 swift 版本?
标签: ios swift iphone nsdate nsdateformatter