繁体   English   中英

如何将字符串日期转换为NSDate?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM