web-dev-qa-db-fra.com

Comment convertir "2017-01-09T11: 00: 00.000Z" en date en Swift 3?

Mon problème est que la date est nulle.

Mon code ressemble

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

J'ai essayé quelques formateurs comme "aaaa-MM-jj'T'HH: mm: ssZ", mais rien n'a fonctionné.

13
Lyndon King McKay

Vous devez définir les deux .SSS et Z avec votre dateFormat, donc votre dateFormat doit être 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)")
36
Nirav D