2016-06-01 4 views
0

ich den Code habe eine Zeichenfolge in ein Datum zu konvertieren:Convert String to Date Gibt nil zurück zum Nachmittag mal nur

  let dateString = detailData.value["eventStart"] as! String 
      print(dateString) 

      let dateFormatter = NSDateFormatter() 
      dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss Z" /*find out and place date format from http://userguide.icu-project.org/formatparse/datetime*/ 
      let date = dateFormatter.dateFromString(dateString) // || date!.timeIntervalSince1970 >= presentDate.timeIntervalSince1970 

      print(date?.timeIntervalSince1970) 

Die Ausgabe lautet:

2016-05-31 03:18:11 +0000 
Optional(1464664691.0) 

2016-06-03 14:00:44 +0000 
nil 

2016-06-01 00:38:08 +0000 
Optional(1464741488.0) 

2016-06-04 00:25:55 +0000 
Optional(1464999955.0) 

2016-05-31 22:19:54 +0000 
nil 

Ich sehe, dass die Zeit, in der Nachmittag (ist 12+) zurück Null.

Wie kann ich das verhindern?

Antwort

2

Ihre Datumsanalyse ist fehlgeschlagen. In Ihrem Fall fehlgeschlagen wegen einer ungültigen Stunde Komponente in der Eingabezeichenfolge.

Verwenden Sie das 24-Stunden-Format HH anstelle des 12-Stunden-Formats hh.

Verwandte Themen