将日期字符串转换为 NSDate

Convert date string to NSDate

我有这个字符串:“2016-10-08 00:20:00.000000”。我需要它作为 NSDate(swift 3 的日期)对象。

我试过以下方法:

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

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

我总是return零值。怎么了?我想这与日期格式有关。

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

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

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

或者像这样更改日期格式,

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

hh应该是24小时格式的大写!!!!喜欢 HH!

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

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")
}