【发布时间】:2021-12-11 00:29:34
【问题描述】:
我刚刚阅读了这个post,其中详细说明了在尝试将给定字符串转换回日期之前,您需要在格式之前设置语言环境。
我有以下遵循该格式的代码,但从字符串到日期的转换似乎仍然返回nil,尽管在操场上它似乎工作正常。
// originalDate style is the .full style, "Friday, December 10, 2021 at 4:17:04 PM Pacific Standard Time"
let df: DateFormatter = DateFormatter()
df.locale = Locale(identifier: "en_US_POSIX")
df.dateFormat = "MMM d, yyyy" // Sep 12, 2018 format'
let newDate = df.date(from: originalDate)
let newStringDate = df.string(from: newDate!) // throws found nil when unwrapping
这可能是什么原因造成的?
编辑 1:我正在使用 SQLite.swift 从 sqlite 数据库中提取字符串类型
【问题讨论】:
-
originalDate的格式需要匹配df.dateFormat。
-
请分享原始日期样式字符串
-
我建议您以更简单(更短)的格式存储您的日期。
-
谢谢大家!我没有意识到你必须有相同的格式。我想我必须将其转换为 Date 然后将其转换回我想要的字符串格式或以较短的格式存储它
标签: ios swift date dateformatter