我对String进行了扩展,以将类似“ 2018-10-04 23:12:42.640800”的字符串转换为另一种格式。首先,我将其转换为Date,然后再次转换为String。
extension String {
func convertDateFormater(to: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSSSSS+00:00"
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let dt = dateFormatter.date(from: self)
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = to
let completeDate = dt != nil ? dateFormatter.string(from: dt!):""
return completeDate
}
}
例如:
let myNewDate = "2018-10-04 23:12:42.640800".convertDateFormater(to: "dd MMM yyyy")
print(myNewDate) //04 oct. 2018
这项工作在我的iPhone上很棒,但在我的iPad上却崩溃了。我不明白为什么。这就是为什么我制作了completeDate
变量来停止崩溃的原因。但是我需要更改格式,但是它不起作用。
有人知道吗?