xcode 如何快速转换日期 yyyy-mm-dd'T'HH:mm:ss.SSSZ
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/52275065/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to convert date yyyy-mm-dd'T'HH:mm:ss.SSSZ in swift
提问by Sankalap Yaduraj Singh
I am convert date from "yyyy-mm-dd'T'HH:mm:ss.SSSZ"to "dd-mm-yyyy"and my date is "2018-09-11T09:53:25.000+0000"and this is my code
我将日期从“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"
}
but i am getting converted date 11-23-2018like this
但我正在逐渐转换日期2018年11月23日这样的
But my aspect is 11-09-2018
但我的方面是11-09-2018
回答by Rakesha Shastri
Your dateFormat
is wrong. The ambiguity in your format should have been clear when you used 'mm' for bothmonths and minutes.
你dateFormat
是错的。当您在月份和分钟中使用“mm”时,格式中的歧义应该已经很清楚了。
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
mm - minutes
mm - 分钟
MM - months
MM——月
The same goes for the second date format too.
第二种日期格式也是如此。
Refer thisfor more information on date formats.
请参阅此有关日期格式的详细信息。
回答by Nikunj Kumbhani
Try this
尝试这个
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"
}
}
Use Like this :
像这样使用:
self.GetFormatedDate(date_string: "2018-09-11T09:53:25.000+0000", dateFormat: "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
Output :
输出 :
11-09-2018
回答by Bhavin Kansagara
should be
应该
dateFormatter.dateFormat = "dd-MM-yyyy"
Try it
尝试一下
回答by Denis
Your dateFormater is wrong it should be yyyy-MM-dd'T'HH:mm:ss.SSSZ
not this yyyy-mm-dd'T'HH:mm:ss.SSSZ
你的 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"
to
到
dateFormatter.dateFormat = "dd-MM-yyyy"
dateFormatter.dateFormat = "dd-MM-yyyy"
回答by Jogendar Choudhary
Try this:
尝试这个:
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"
}
}
回答by Sankalap Yaduraj Singh
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"
}