如何将日期 yyyy-mm-dd'T'HH:mm:ss.SSSZ 转换为 swift
How to convert date yyyy-mm-dd'T'HH:mm:ss.SSSZ in swift
我将日期从 "yyyy-mm-dd'T'HH:mm:ss.SSSZ" 转换为 "dd-mm-yyyy" 我的日期是 “2018-09-11T09:53:25.000+0000” 这是我的代码
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-mm-dd'T'HH:mm:ss.SSSZ"
let dateFromInputString = dateFormatter.date(from: "2018-09-11T09:53:25.000+0000")
dateFormatter.dateFormat = "dd-mm-yyyy"
if(dateFromInputString != nil){
return dateFormatter.string(from: dateFromInputString!)
}
else{
debugPrint("could not convert date")
return "N/A"
}
但我正在转换日期 11-23-2018 像这样
但是我的相位是11-09-2018
您的 dateFormat
错误。当您将 'mm' 用于 个月和分钟时,您的格式中的歧义应该已经很清楚了。
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
毫米 - 分钟
MM - 月
第二种日期格式也是如此。
有关日期格式的详细信息,请参阅 this。
应该是
dateFormatter.dateFormat = "dd-MM-yyyy"
试一试
你的 dateFormater 是错误的应该是 yyyy-MM-dd'T'HH:mm:ss.SSSZ
不是这个 yyyy-mm-dd'T'HH:mm:ss.SSSZ
dateFormatter.dateFormat = "dd-mm-yyyy"
到
dateFormatter.dateFormat = "dd-MM-yyyy"
试试这个:
extension String {
func convertDate() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
if let dateInLocal = dateFormatter.date(from: self) {
dateFormatter.dateFormat = "dd-MM-yyyy"
return dateFormatter.string(from: dateInLocal)
}
return "NA"
}
}
试试这个
func GetFormatedDate(date_string:String,dateFormat:String)-> String{
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = dateFormat
let dateFromInputString = dateFormatter.date(from: date_string)
dateFormatter.dateFormat = "dd-MM-yyyy" // Here you can use any dateformate for output date
if(dateFromInputString != nil){
return dateFormatter.string(from: dateFromInputString!)
}
else{
debugPrint("could not convert date")
return "N/A"
}
}
像这样使用:
self.GetFormatedDate(date_string: "2018-09-11T09:53:25.000+0000", dateFormat: "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
输出:
11-09-2018
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let dateFromInputString = dateFormatter.date(from: "2018-09-11T09:53:25.000+0000")
dateFormatter.dateFormat = "dd-MM-yyyy"
if(dateFromInputString != nil){
return dateFormatter.string(from: dateFromInputString!)
}
else{
debugPrint("could not convert date")
return "N/A"
}
我将日期从 "yyyy-mm-dd'T'HH:mm:ss.SSSZ" 转换为 "dd-mm-yyyy" 我的日期是 “2018-09-11T09:53:25.000+0000” 这是我的代码
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-mm-dd'T'HH:mm:ss.SSSZ"
let dateFromInputString = dateFormatter.date(from: "2018-09-11T09:53:25.000+0000")
dateFormatter.dateFormat = "dd-mm-yyyy"
if(dateFromInputString != nil){
return dateFormatter.string(from: dateFromInputString!)
}
else{
debugPrint("could not convert date")
return "N/A"
}
但我正在转换日期 11-23-2018 像这样
但是我的相位是11-09-2018
您的 dateFormat
错误。当您将 'mm' 用于 个月和分钟时,您的格式中的歧义应该已经很清楚了。
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
毫米 - 分钟
MM - 月
第二种日期格式也是如此。
有关日期格式的详细信息,请参阅 this。
应该是
dateFormatter.dateFormat = "dd-MM-yyyy"
试一试
你的 dateFormater 是错误的应该是 yyyy-MM-dd'T'HH:mm:ss.SSSZ
不是这个 yyyy-mm-dd'T'HH:mm:ss.SSSZ
dateFormatter.dateFormat = "dd-mm-yyyy"
到
dateFormatter.dateFormat = "dd-MM-yyyy"
试试这个:
extension String {
func convertDate() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
if let dateInLocal = dateFormatter.date(from: self) {
dateFormatter.dateFormat = "dd-MM-yyyy"
return dateFormatter.string(from: dateInLocal)
}
return "NA"
}
}
试试这个
func GetFormatedDate(date_string:String,dateFormat:String)-> String{
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = dateFormat
let dateFromInputString = dateFormatter.date(from: date_string)
dateFormatter.dateFormat = "dd-MM-yyyy" // Here you can use any dateformate for output date
if(dateFromInputString != nil){
return dateFormatter.string(from: dateFromInputString!)
}
else{
debugPrint("could not convert date")
return "N/A"
}
}
像这样使用:
self.GetFormatedDate(date_string: "2018-09-11T09:53:25.000+0000", dateFormat: "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
输出:
11-09-2018
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let dateFromInputString = dateFormatter.date(from: "2018-09-11T09:53:25.000+0000")
dateFormatter.dateFormat = "dd-MM-yyyy"
if(dateFromInputString != nil){
return dateFormatter.string(from: dateFromInputString!)
}
else{
debugPrint("could not convert date")
return "N/A"
}