2017-01-13 58 views
7

Mój problem polega na tym, że data jest zerowa.Jak przekonwertować "2017-01-09T11: 00: 00.000Z" na Date w Swift 3?

Mój kod wygląda

print(article_date) // output "2017-01-09T11:00:00.000Z" as string 
let dateFormatter = DateFormatter() 
dateFormatter.locale = Locale(identifier: "en_US_POSIX") 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS" 
let date : Date? = dateFormatter.date(from: article_date!) 
print("date: \(date)") 

Próbowałem kilka formatek jak "rrrr-mm-dd'T'GG: MM: SSZ", ale nic nie działało.

Odpowiedz

21

Musisz ustawić zarówno .SSS i Z ze swoimi dateFormat, więc dateFormat powinny być yyyy-MM-dd'T'HH:mm:ss.SSSZ.

let dateFormatter = DateFormatter() 
dateFormatter.locale = Locale(identifier: "en_US_POSIX") 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 
let date = dateFormatter.date(from: "2017-01-09T11:00:00.000Z") 
print("date: \(date)")