POSIXタイムスタンプ(エポックからの秒数)をオブジェクトに変換するために使用されるタイムゾーン(つまり、UTCオフセットまたはdatetime.timezone
そのオフセットを持つインスタンス)を取得することは可能ですか?datetime.datetime.fromtimestamp()
datetime
datetime.datetime.fromtimestamp()
は POSIX タイムスタンプをナイーブdatetime
オブジェクト (つまり なしtzinfo
) に変換しますが、システムのロケールを使用してローカル タイムゾーンとその時点で有効だった UTC オフセットに調整します。
たとえば、日付 2008-12-27 UTC 午前 0 時 (エポックから 40 * 356 * 86400 秒) を使用すると、次のようになります。
>>> datetime.datetime.fromtimestamp(40 * 356 * 86400)
datetime.datetime(2008, 12, 27, 1, 0)
そのタイムスタンプはdatetime
、午前 1 時のオブジェクトに変換されます (この時刻は CET/CEST タイムゾーンです)。100 日後の結果は次のとおりです。
>>> datetime.datetime.fromtimestamp((40 * 356 + 100) * 86400)
datetime.datetime(2009, 4, 6, 2, 0)
午前2時です。これは、それまでに DST がアクティブだったためです。
返されたインスタンスで使用するdatetime.datetime.fromtimestamp()
が設定されると思っていましたが、そうではありません。tzinfo
datetime