Swift 中的字符串日期
String Date to Date in Swift
我正在使用一个后端 returns 给我一个像 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)
}
我正在使用一个后端 returns 给我一个像 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)
}