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 サイトの他の関連記事を参照してください。