2016-10-07 201 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") 
}