Formatierung des UTC-Datums mit NSDateFormatter nicht möglich
Habe ich Folgendes Datum:
2011-10-20T01:10:50Z
Ich würde es gerne formatiert werden, um
"M/d/yy 'at' h:mma"
Hier ist mein code:
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
//The Z at the end of your string represents Zulu which is UTC
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy-dd-MM'T'HH:mm:ss'Z'"];
NSDate* newTime = [dateFormatter dateFromString:[message valueForKey:@"created_at"]];
//Add the following line to display the time in the local time zone
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormatter setDateFormat:@"M/d/yy 'at' h:mma"];
NSString* finalTime = [dateFormatter stringFromDate:newTime];
[dateFormatter release];
NSLog(@"%@", finalTime);
Leider die finalTime NULL ist hier.
InformationsquelleAutor der Frage Sheehan Alam | 2011-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie TT-MM nach hinten. Sie haben 10 für dd und 20 MM gibt Es keinen Monat 20.
Weil die newTime null war und die finalTime war null.
Hier mit dem Update. Diese:
Ausgänge:
InformationsquelleAutor der Antwort bryanmac
Dieser technische Hinweis hat mir geholfen, das gleiche Problem: https://developer.apple.com/library/ios/qa/qa1480/_index.html
Kurz gesagt, müssen Sie 3 Dinge auf NSDateFormatter:
code-Beispiel:
War ich mit NSDateFormatter, um erfolgreich analysieren UTC Saiten NSDate durch die Einstellung nur die Zeitzone und das Datum-format. Wenn es plötzlich aufgehört zu arbeiten fand ich in dieser tech note und fügte hinzu, setLocal: die behoben das Problem für mich.
InformationsquelleAutor der Antwort 100grams
Weil Swift:
InformationsquelleAutor der Antwort MScottWaller