【发布时间】:2017-01-25 12:05:22
【问题描述】:
我正在将一些旧的 Javascript 代码移植到 Swift 应用程序中,我来自客户端的数据集有点奇怪,因为它们只记录了每个日期的月份和年份,所以安装日期字符串看起来像:@ 987654321@.
在 Javascript 中,我可以使用:var date = new Date("2001-05"); 它返回:2001-05-01T00:00:00.000Z 将时间/日期归零,但按预期保持年份和月份。
我目前在 Swift 中使用以下代码:
var date = "2001-05"
func stringToDate(_ date: String) -> Date? {
let df = DateFormatter()
df.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale!
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZ"
return df.date(from: date)
}
print(stringToDate(date))
这总是产生 nil 输出。是否可以在 Swift 中重现日期格式化的 JS 行为?
【问题讨论】:
-
在否决票背后的推理总是受到赞赏......在没有正当理由的情况下投反对票有点粗鲁