如何将特定格式的字符串转换为 Swift 中的日期?
How to convert a String of certain format to Date in Swift?
我有这样的字符串 2020-09-21T21:13:55.636Z
...我想将它们转换成 Date
s,这就是我所做的;
func convertToDate(str: String) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
return dateFormatter.date(from: str)!
}
以上代码在展开时崩溃。我猜这是因为格式...知道我做错了什么吗?
对于该日期字符串,您应该使用 ISO8601DateFormatter
,如下所示:
var str = "2020-09-21T21:13:55.636Z"
let formatter = ISO8601DateFormatter()
formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
let date = formatter.date(from: str)
这将使您免于尝试完全正确地获取格式字符串的麻烦。
我有这样的字符串 2020-09-21T21:13:55.636Z
...我想将它们转换成 Date
s,这就是我所做的;
func convertToDate(str: String) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
return dateFormatter.date(from: str)!
}
以上代码在展开时崩溃。我猜这是因为格式...知道我做错了什么吗?
对于该日期字符串,您应该使用 ISO8601DateFormatter
,如下所示:
var str = "2020-09-21T21:13:55.636Z"
let formatter = ISO8601DateFormatter()
formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
let date = formatter.date(from: str)
这将使您免于尝试完全正确地获取格式字符串的麻烦。