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

标签 swift dateformatter

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

相关文章:

ios - 使用 JSONDecoder 解码古怪的日期格式

ios - Swift 中下一个可用日期的日期格式

java - 字符串到 LocalDateTime 转换 : java. time.format.DateTimeParseException

ios - Swift 5 默认可解码实现,只有一个异常(exception)

ios - 基于逻辑快速进行Segue

ios - swift Eureka : Adding text value to ButtonRow

Swift dateformatter.date(来自 : string) strange behaviour

swift - 从 dateFormat 获取错误的日期

ios - 无法将 NSAttributedString.DocumentAttributeKey 类型的值转换为 .DocumentReadingOptionKey

ios - 将手势识别器添加到表格单元格中的 ImageView