我从服务器端得到了一个日期字符串,即Tue, 28 May 2019 13:24:06 +0000
。我尝试执行以下操作:
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .full
let date = dateFormatter.date(from: "Tue, 28 May 2019 13:24:06 +0000")
结果为 nil
如何将这样的字符串转换为Date
?
答案 0 :(得分:5)
您需要设置一个特定的dateFormat
。然后,将日期格式器的语言环境设置为en_US_POSIX
。
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss Z"
let date = dateFormatter.date(from: "Tue, 28 May 2019 13:24:06 +0000")
有关链接的链接,请参见dateFormat
的文档,这些链接为您提供了所有格式说明符的含义的完整描述。
请记住,将日期转换为字符串以显示给用户时,使用日期和时间样式是最佳解决方案。但是要将字符串解析为日期,请使用dateFormat
。