2015-10-10 23 views
15

ich einen String in NSDate hier zu konvertieren bin versucht mein CodeConvert String NSDate mit Swift 2

 let strDate = "2015-11-01T00:00:00Z" // "2015-10-06T15:42:34Z" 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ssZ" 
    print (dateFormatter.dateFromString(strDate)) 

Ich bekomme ständig nil als Folge

Antwort

31

Das "T" im Format-String muss Einzel zitiert werden, damit es nicht ein Symbol betrachten werden:

Swift 3,0

let strDate = "2015-11-01T00:00:00Z" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
let date = dateFormatter.date(from:strDate) 
print("date: \(date!)") 

Ausgang:

Datum: 2015-11-01 00:00:00 +0000

Swift 2.x

let strDate = "2015-11-01T00:00:00Z" 
let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
let date = dateFormatter.dateFromString(strDate) 
print("date: \(date!)") 

Ausgang:

Datum: 2015-11-01 00:00:00 +0000

Siehe: Date Field SymbolTable.

dies die Notwendigkeit enthält ASCII-Buchstaben in einfachen Anführungszeichen, wenn sie wörtlichen Text darstellen sollen.