我正在使用一个后台,返回一个日期字符串,如 2020-05-05 10:19:25.357479+05:30
. 如何在 swift 中将其转换为 Date 对象?根据后台的说法,他们使用的日期格式是 YYYY-MM-DD HH:mm:ss.SSSSSS+|-hh:mm
. 但是,当我试图在DateFormatter中使用这个字符串时,我得到了一个错误信息,即----------。"Date string does not match format expected by formatter."
谁能帮我解决这个问题?
你可以使用这个函数
func dateFromString(_ dateString:String, format: String = "yyyy-MM-dd HH:mm:ss.SSSSSSZ") -> String? {
let dateFormatter = DateFormatter()
let tempLocale = dateFormatter.locale // save locale temporarily
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = format//"yyyy-MM-dd HH:mm:ss.SSSSSS"
let date = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
dateFormatter.locale = tempLocale // reset the locale
guard let getdate = date else {
return nil
}
let dateString = dateFormatter.string(from: getdate)
return dateString
}
如何使用
if let dateString = dateFromString("2020-05-05 10:19:25.357479+05:30") {
print (dateString)
}