secondsFromGMT gibt unterschiedliche Werte für Gerät und Simulator zurück

9

Ich arbeite an einer Zeit-App, die die Zeit verschiedener Zeitzonen anzeigt. Dazu verwende ich eine Standardzeit haDate (UTC tz).

Für displayDate verwende ich System-Zeitzone api. Die Zeitzone ist America/Santiago (UTC-3: 00).

%Vor%

"haDate" -Code -

%Vor%

Das Problem ist, wenn ich diesen Code auf dem Simulator tz.secondsFromGMT ausführen lasse -10800 , aber auf dem Gerät gibt es -14400 zurück, was 1 Stunde weniger ist.

Gerät und Simulator verwenden dieselbe timeZone Asia/Kolkata (UTC + 5: 30). Ich weiß, America/Santiago verwendet DST, aber warum gibt es mir verschiedene Sekunden, sogar beide (Simulator und Gerät) sind auf der gleichen Zeitzone.

Was ist falsch und wie kann ich es beheben?

HINWEIS

Um das Problem mit der Sommerzeit zu beheben, verwende ich diesen Code. Aber es geht immer auf beiden Geräten zum else Teil. (BTW unter code ist nicht erforderlich, da tz.secondsFromGMT immer Sekunden nach DST-Anpassungen zurückgibt.)

%Vor%

Wenn ich den tz aufzeichne -

Beim Simulator

tz America/Santiago (GMT-3) offset -10800

Auf dem Gerät

tz America/Santiago (GMT-4) offset -14400

Es wird also keine Sommerzeit verwendet.

HINWEIS 2

Dieses Problem tritt nur bei iPad 2 auf. Andere Geräte funktionieren einwandfrei.

HINWEIS 3

Mein iPad 2 mit iOS 8.4. Beide Zeitzonen (Chile Standardzeit - America/Santiago und Osterinsel Standardzeit - Pacific/Easter ) geben mir falsche Sekunden

    
Harvant S. Choudhary 10.07.2015, 06:53
quelle

1 Antwort

0

Chile hat Anfang 2015 das TZ geändert. Wahrscheinlich hat Ihr iPad 2 eine iOS-Version mit einer veralteten Zeitzonendatenbank. Aktualisieren Sie es.

  

Die Zeit in Chile ist in zwei Zeitzonen unterteilt. Continental Chile verwendet den Zeitversatz UTC-03: 00. Darüber hinaus verwendet Osterinsel den Zeit-Offset UTC-05: 00. [1]

     

Bis 2015 nutzte Continental Chile den Zeitversatz UTC-04: 00 und Osterinsel verwendete UTC-06: 00 für die Standardzeit, wobei die Sommerzeit ungefähr zwischen Oktober und März jedes Jahr liegt. Im Januar 2015 wurde jedoch bekannt gegeben, dass das Land den Zeitausgleich während der Sommerzeit beibehalten wird.

Ссылка

    
Amin Negm-Awad 19.07.2015, 18:38
quelle