iOS 7: Konvertieren von NSDate string mit eigene Zeitzone und wieder neue NSDate

Möchte ich ändern aktuelle system-Zeit (set a custom NSTimeZone) und wieder eine neue NSDate Objekt.

Der code, den ich gemacht habe

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSLog(@"System time: %@", [dateFormatter stringFromDate:[NSDate date]]);
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Aqtobe"]];
NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"Aqtobe time: %@", dateString);

Die Ausgabe

System time: 2014-02-05 10:00:46 +0000

Aqtobe time: 2014-02-05 15:00:46 +0500

Aber wenn ich versuche, neue NSDate-Objekt von Aqtobe Zeit:

NSLog(@"New NSDate: %@", [dateFormatter dateFromString:dateString]);

Bekomme ich

New NSDate: 2014-02-05 10:02:40 +0000

Wo ich falsch war? Vielen Dank im Voraus

NSDate immer wieder GMT. Können Sie es formatieren, um unabhängig von der Zeitzone, die Sie wollen, wenn Sie es gedruckt haben (wie du hast). Weitere Informationen finden Sie hier
Ich nicht ganz verstehen. Sie möchten überprüfen, ob ein Datum zwischen zwei Daten?
ja
Ich Schreibe es als Antwort aufgrund von Platzmangel.
Sie sind nicht die Bereitstellung der Zeitzone.. Standard-Zeitzone ist GMT. So ist es-vorausgesetzt, dass das gleiche Datum

InformationsquelleAutor Artem Z. | 2014-02-05

Schreibe einen Kommentar