Heim > Backend-Entwicklung > Python-Tutorial > Warum zeigt die Zeitzone „Asien/Hong_Kong' von Pytz inkonsistente Offsets?

Warum zeigt die Zeitzone „Asien/Hong_Kong' von Pytz inkonsistente Offsets?

Linda Hamilton
Freigeben: 2024-12-06 15:56:10
Original
1052 Leute haben es durchsucht

Why Does Pytz's `Asia/Hong_Kong` Timezone Show Inconsistent Offsets?

Datums-/Uhrzeitanomalien mit Pytz-Zeitzonen

Pytz, eine weit verbreitete Python-Bibliothek zum Umgang mit Zeitzonen, zeigt manchmal ungewöhnliches Offset-Verhalten. Insbesondere beim Anfordern der Zeitzone „Asien/Hong_Kong“ gibt pytz möglicherweise einen Offset von 7:37:00 zurück, was inkonsistent erscheint.

Betrachten Sie zur Veranschaulichung den folgenden Code:

import pytz
pytz.timezone('Asia/Hong_Kong')
Nach dem Login kopieren

Die Ausgabe zeigt die Zeitzoneninformationen wie folgt an:

<DstTzInfo 'Asia/Hong_Kong' LMT+7:37:00 STD>
Nach dem Login kopieren

Inkonsistent, Verwendung der Lokalisierungsmethode zum Anhängen des Hong Die Kong-Zeitzone mit einer Datetime-Instanz liefert unterschiedliche Ergebnisse:

hk = pytz.timezone('Asia/Hong_Kong')
hk_dt = hk.localize(datetime(2012, 1, 1))
Nach dem Login kopieren

Der Vergleich der Datetimes zeigt:

dt1 = datetime(2012,1,1,tzinfo=hk)
if dt1 > hk_dt:
    print "Why?"
Nach dem Login kopieren

Unerwarteterweise wird dt1 als größer als hk_dt ausgewertet.

Erklärung

Diese Anomalie entsteht aufgrund von Änderungen in Zeitzonen und Zeitversätzen. Pytz weist jedem erstellten Zeitzonenobjekt den ältesten verfügbaren Namen und Offset zu. Wenn Sie jedoch die Methode „localize“ verwenden, um die Zone einem Datum zuzuordnen, werden der genaue Name und der Offset entsprechend der angegebenen Zeit berücksichtigt.

Zusammenfassend lässt sich sagen, dass die einfache Verwendung des datetime-Konstruktors zum Zuweisen einer Zeitzone zu einem Datum ausgeschlossen ist es kann nicht richtig eingestellt werden, was zu der beobachteten Inkonsistenz führt.

Das obige ist der detaillierte Inhalt vonWarum zeigt die Zeitzone „Asien/Hong_Kong' von Pytz inkonsistente Offsets?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage