Swift 将日期字符串转换为日期

Swift Convert date string to Date

我从服务器端得到了一个日期字符串,它是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.