将datestring转换为NSDate

我有这个string:“2016-10-08 00:20:00.000000”。 我需要它作为一个NSDate(SWIFT 3的date)对象。

我已经尝试了以下内容:

let formatterJsonDate = DateFormatter() formatterJsonDate.dateFormat = "yyy-MM-dd hh:mm:ss" print(formatterJsonDate.date(from: "2016-10-08 00:20:00.000000")) 

我总是返回零价值。 怎么了? 我想这是关于date格式的东西。

你的date格式和你的时间string应该是一样的。 你的情况应该是这样的,

  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

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

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