ホームページ > バックエンド開発 > Python チュートリアル > pytz が「Asia/Hong_Kong」に対して異例のタイム ゾーン オフセットを表示するのはなぜですか?

pytz が「Asia/Hong_Kong」に対して異例のタイム ゾーン オフセットを表示するのはなぜですか?

Barbara Streisand
リリース: 2024-12-14 12:17:12
オリジナル
712 人が閲覧しました

Why Does pytz Show an Unconventional Time Zone Offset for 'Asia/Hong_Kong'?

pytz の型破りなタイム ゾーン オフセット

pytz で、'Asia/Hong_Kong' タイム ゾーン名を使用してタイム ゾーン オブジェクトを作成するのは異常なようです7 時間 37 分のオフセットが返されるためです。この動作は固有のものではありません。

原因は、タイム ゾーンとオフセットが歴史的に変更されているという事実にあります。 Pytz は、指定されたゾーンで使用可能な最も古い名前とオフセットを使用してタイム ゾーン オブジェクトを初期化します。したがって、デフォルトのオフセットが奇妙に見える場合があります。

この問題を解決するには、タイムゾーンを日付に付加するときに、datetime コンストラクターの代わりに localize() メソッドを使用します。このメソッドには、その特定の時刻における正しいゾーン名とオフセットが組み込まれます。

例:

>>> import pytz
>>> from datetime import datetime
>>> hk = pytz.timezone('Asia/Hong_Kong')

>>> dt1 = datetime(2012,1,1,tzinfo=hk)
>>> dt2 = hk.localize(datetime(2012,1,1))

>>> dt1 > dt2
False
ログイン後にコピー

localize() を使用すると、タイム ゾーン名とオフセットを適切に調整できます。

以上がpytz が「Asia/Hong_Kong」に対して異例のタイム ゾーン オフセットを表示するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート