【发布时间】:2020-06-03 14:04:04
【问题描述】:
我有这个字符串“2020 年 4 月 13 日 7:53:01 PM”,我想转换为日期。我用过这个,但它崩溃了
let input = "Apr 13, 2020 7:53:01 PM"
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "it_IT")
dateFormatter.dateFormat = "MMM dd YYYY HH:mm:ss"
let date = dateFormatter.date(from:input)!
转换此字符串的正确日期格式如何?谢谢
【问题讨论】:
-
dateFormatter.dateFormat = "MMM-dd-YYYY'T'HH:mm:ss a"你认为你在那一行写了什么?dateFormat的目的是什么?一旦你理解了这一点,你的代码有什么问题可能会更清楚。另外,我希望您理解它崩溃是因为dateFormatter.date(from:input)为零,并且强制解包(在其上使用!)导致崩溃是您理解的。以及控制台中抛出的错误。 -
我想转换 Date 对象中的字符串,因为我有很多对象要按日期排序。我说它崩溃是因为它是 nil,但它是 nil 因为 dateFormat 不正确
-
所以你似乎明白你的日期格式是错误的?您是否尝试理解您在上面写的内容?它与输入的格式不匹配。只需将一个写在另一个上面,您就会看到。
-
我说了,但我尝试了很多格式化日期。我在 NSDateFormatter.com 中看到,但它不起作用......我也尝试了 "MMM dd, yyyy HH:mm:ss a" 但没有
-
你之前没有说过你做了一些尝试。您提供的最后一个日期格式更有意义。
HH?那是24小时格式。如有疑问,请执行相反的操作:let stringified = dateFormatter.string(from: Date())并查看它是否正确。还有Apr,是只有英文而不是它吗?此处的语言环境可能会导致问题。
标签: swift dateformatter