[英]How can I convert string date to NSDate?
我想将2016-03-09 00:00:00
转换为09/03/2016
我尝试下面的代码,但打印nil
值
var date: [String] = ["2016-03-09 00:00:00", "2016-03-20 00:00:00"]
for i in date {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/YYYY"
let showDate = dateFormatter.dateFromString(i)
print(showDate)
}
上面的代码打印nil
请帮助我如何快速打印日期dd/MM/YYYY
格式
我认为您的日期格式有误。 用“ YYYY-MM-dd HH:mm:s”更改“ dd / MM / YYYY”,然后尝试...
您的日期类似于“ 2016-03-09 00:00:00” ..因此格式应为“ YYYY-MM-dd HH:mm:s”
for i in date {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd HH:mm:s"
if let showDate = dateFormatter.dateFromString(i){
print("Date with Time: \(showDate)")
dateFormatter.dateFormat = "YYYY-MM-dd"
let resultString = dateFormatter.stringFromDate(showDate)
print("final result: \(resultString)")
}
}
结果:-
Date with Time: 2016-03-09 00:00:00 +0000
final result: 2016-03-09
Date with Time: 2016-03-20 00:00:00 +0000
final result: 2016-03-20
您首先应该创建一个dateformatter来处理类型。 然后对格式进行排序,例如:
let date: [String] = ["2016-03-09 00:00:00", "2016-03-20 00:00:00"]
for i in date {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd HH:mm:s"
let showDate:NSDate? = dateFormatter.dateFromString(i)
dateFormatter.dateFormat = "dd/MM/YYYY"
let date = dateFormatter.stringFromDate(showDate!)
print(date)
}
建议您不要在@ElCaptain答案中的每次循环中重新配置单个日期格式化程序,而是建议在循环外部创建2:用于将“ YYYY-MM-dd HH:mm:s”日期字符串转换为NSDates的输入日期格式化程序,一个输出格式化程序,用于从NSDates转换为“ YYYY-MM-dd”格式。
let inputFormatter = NSDateFormatter()
inputFormatter.dateFormat = "YYYY-MM-dd HH:mm:s"
let outputFormatter = NSDateFormatter()
ourputFormatter.dateFormat = "YYYY-MM-dd"
for i in date {
if let showDate = inputFormatter.dateFromString(i) {
print("Date with Time: \(showDate)")
let resultString = outputFormatter.stringFromDate(showDate)
print("final result: \(resultString)")
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.