我从服务器端得到了一个日期字符串,它是 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
?
最佳答案
您需要设置一个特定的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
。
关于Swift 将日期字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56354323/