Ich brauche eine Datumszeichenfolge von einem Server, auf lokale NSDate abgerufen zu konvertieren, sieht die Zeichenfolge wie:NSDateFormatter: Wie konvertiert man den Datums-String mit 'GMT' in das lokale NSDate?
"Fri, 30 Nov 2012 00:35:18 GMT"
Aber jetzt ist es Freitag, 30. November, 11.36 Uhr ist, so wie konvertiere ich die String zu einem aussagekräftigen lokalen NSDate?
ich gefunden:
iPhone: NSDate convert GMT to local time
Aber sieht aus wie es das Gegenteil der Fall ist.
Hoppla! Ich hatte die falschen Zeds in meiner Antwort. +1. Sie sollten das Gebietsschema dennoch explizit festlegen - andernfalls behält sich 'NSDateFormatter' das Recht vor, Ihre exakte Formatierungszeichenfolge zu ändern. – Tommy
@Tommy: Wenn ich mich nicht irre, wird standardmäßig das Gebietsschema verwendet. Ich habe nur NSLog'dateFormatter.locale.localeIdentifier (ohne es zu setzen) und es gab mir "en_US", das ist mein derzeitiges Gebietsschema. Deshalb habe ich es nicht eingestellt, weil er es in seiner lokalen Zeitzone wollte. – lnafziger
@lnafziger Locale und Zeitzone sind unabhängige Eigenschaften. Die Verwendung des Gebietsschemas 'en_US_POSIX' ist wichtig, wenn Sie mit Datum/Uhrzeit-Strings im festen Format arbeiten. Ohne es ist es möglich, dass das Format hinter Ihrem Rücken geändert wird, basierend auf Dingen wie der 24-Stunden-Einstellung des Benutzers (als ein Beispiel). Das Festlegen der Ländereinstellung hat keine Auswirkungen auf die Zeitzone des Formats. Sehen Sie sich die QA1480 an, auf die @Tommy in seiner Antwort verwiesen hat. – rmaddy