Heim >Backend-Entwicklung >Python-Tutorial >Warum zeigt pytz zunächst unerwartete Zeitzonenversätze an?

Warum zeigt pytz zunächst unerwartete Zeitzonenversätze an?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-15 15:21:18534Durchsuche

Why Does pytz Show Unexpected Time Zone Offsets Initially?

Zeitzonendiskrepanz mit pytz

Bestimmte Zeitzonen weisen besondere Abweichungen auf, wenn sie ursprünglich von pytz bezogen wurden. Beispielsweise zeigt Asien/Hong_Kong zunächst einen Versatz von sieben Stunden und 37 Minuten an:

<br>import pytz<br>pytz.timezone('Asia/Hong_Kong')<br><DstTzInfo „Asien/Hong_Kong“ LMT 7:37:00 STD><br>

Diskrepanzquelle

Zeitzonen und Zeitverschiebungen schwanken im Laufe der Geschichte. Der von pytz bereitgestellte Standardzeitzonenname und -versatz stellen die frühesten für diese Zone verfügbaren Zeitzonen dar, was ungewöhnlich erscheinen kann.

Wenn Sie „localize“ verwenden, um die Zeitzone einem Datum zuzuweisen, werden der entsprechende Zeitzonenname und der entsprechende Zeitzonenversatz verwendet gebraucht. Die direkte Verwendung des datetime-Konstruktors zum Zuweisen der Zeitzone ermöglicht jedoch keine ordnungsgemäße Anpassung.

Beispiel

Bedenken Sie den folgenden Code:

< ;pre>
pytz importieren
von datetime import datetime
hk = pytz.timezone('Asien/Hong_Kong')

dt1 = datetime(2012,1,1,tzinfo=hk)
dt2 = hk.localize(datetime(2012,1,1))
wenn dt1 > dt2:
print „Warum?“

In diesem Beispiel ist dt1 aufgrund der anfänglichen Offset-Diskrepanz größer als dt2. Durch die Verwendung von „localize“ erhält dt2 den genauen Offset, was zu einem logischen Vergleich zwischen den beiden Daten führt.

Das obige ist der detaillierte Inhalt vonWarum zeigt pytz zunächst unerwartete Zeitzonenversätze an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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