2016-10-07 202 views
0

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

我试着用下面的:

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

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

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

+3

'yyy'应该是'yyyy' ..一个'y'缺少 –

+0

权。我仍然得到一个零值 – JoseMartinFit

+0

在日期字符串上面写上dateFormat。检查每个“值”是否以格式翻译。你会看到失踪的一年字符,并在秒后的东西... – Larme

回答

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

+0

哦,上帝谢谢!那是我需要的。 – JoseMartinFit

+0

不客气.... :) – Lion

0

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

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