2015-10-10 27 views
15

Sto cercando di convertire una stringa NSDate qui è il mio codiceConversione di stringhe in NSDate con 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)) 

continuo a ricevere nil a seguito

risposta

31

La "T" nella stringa di formato ha bisogno di essere unico citato in modo che non sarà considera un simbolo:

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

uscita:

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

2.x Swift

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

uscita:

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

Vedi: Date Field SymbolTable.

Ciò include la necessità di racchiudere le lettere ASCII tra virgolette singole se sono destinati a rappresentare testo letterale.

Problemi correlati