将日期字符串转换为NSDate

时间:2016-10-07 08:34:39

标签: ios swift nsdate nsdateformatter

我是这个字符串:" 2016-10-08 00:20:00.000000"。我需要它作为NSDate(快速3的日期)对象。

我尝试了以下内容:

let formatterJsonDate = DateFormatter()
formatterJsonDate.dateFormat = "yyy-MM-dd hh:mm:ss"

print(formatterJsonDate.date(from: "2016-10-08 00:20:00.000000"))

我总是返回零值。怎么了?我猜它是关于日期格式的。

2 个答案:

答案 0 :(得分:1)

您的日期格式和时间字符串应相同。在你的情况下它应该是,

 let formatterJsonDate = DateFormatter()
 formatterJsonDate.dateFormat = "yyy-MM-dd HH:mm:ss"

 print(formatterJsonDate.date(from: "2016-10-08 00:20:00"))

或者更改dateformatter,例如

  "yyyy-MM-dd HH:mm:ss.SSSSSS"

hh应该是24小时格式的资本!比如HH

答案 1 :(得分:0)

如果您想使用纳秒秒,您的代码必须是:

let formatterJsonDate = DateFormatter()
formatterJsonDate.dateFormat = "yyy-MM-dd hh:mm:ss.SSSS"
if let myDate = formatterJsonDate.date(from: "2016-10-08 00:20:00.000000")  {
    print(myDate)
} else {
    print ("Invalid Date")
}