NSDate Zeitzone ändern

Ich Schreibe eine app, die beinhaltet Zeitzone. Ich will schnappen Sie sich das Gerät des Benutzers, die Zeit, können Anruf, dass dateA, und ich habe ein Ziel-Datum, das immer in EDT Zeitzone (dateB).

Ich möchte die Differenz zwischen 2 Daten und dem Benutzer zeigen, aber in dateB's time zone.

z.B.:

Benutzer-Gerät Uhrzeit ist 07:30 UHR PDT, und dateB ist 11:00 Uhr EDT.

Also der Zeitunterschied von 30 Minuten.

Mein Algorithmus ist:

1) Benutzer, Gerät, Zeit

2) zu konvertieren EDT

3) ergreifen Sie die Zeit Unterschied zwischen dateA und dateB

Mein Problem ist, nachdem ich das Gerät des Benutzers, Zeit [NSDate date], und gehen Sie durch DateFormatter mit der Zeitzone MESZ. Die Zeit ändert sich nicht.

EDIT::

    NSDate *localDate = [NSDate date]; //this will have 7:30AM PDT
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"EDT"]];
    NSString *convertedTimeString = [dateFormatter stringFromDate:localDate];

Wie kommen die convertedTimeString nicht enthalten, 10:30 Uhr in EDT?
Was mache ich falsch?

  • Es gibt keine Zeitzone für Datum, also, wenn Sie das Datum mit der richtigen Zeitzone ist, können Sie berechnen die Differenz ohne zu viele Umbauten.
InformationsquelleAutor CLDev | 2013-08-08
Schreibe einen Kommentar