2017-01-13 24 views
7

Vấn đề của tôi là ngày đó là không.Làm thế nào để chuyển đổi "2017-01-09T11: 00: 00.000Z" thành Ngày trong Swift 3?

Mã của tôi trông giống như

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

Tôi đã thử một vài trình định dạng như "yyyy-MM-dd'T'HH: mm: SSZ", nhưng không làm việc.

Trả lời

21

Bạn cần đặt cả .SSSZ bằng dateFormat, vì vậy, dateFormat phải là 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)") 
Các vấn đề liên quan