次のコードは、1年間毎日のための私のローカル時刻との時差(米国中部標準時)とUTCを示しています日時モジュールはローカルタイムゾーンをどのように認識していますか?
結果:私は、任意のタイムゾーン情報を指定せずに
2010-12-31 15:14:03 6:00:00
2011-01-01 15:14:03 6:00:00
...
2011-03-11 15:14:03 6:00:00
2011-03-12 15:14:03 6:00:00
2011-03-13 15:14:03 5:00:00
2011-03-14 15:14:03 5:00:00
...
2011-11-04 15:14:03 5:00:00
2011-11-05 15:14:03 5:00:00
2011-11-06 15:14:03 6:00:00
2011-11-07 15:14:03 6:00:00
...
2011-12-29 15:14:03 6:00:00
2011-12-30 15:14:03 6:00:00
日時モジュールは、自分のローカルタイムゾーンとUTCとの間の時間差だけでなく、夏時間の開始と終了も認識しているようです。これは同様の質問にthis answerと矛盾するようです。私は結論として間違っていますか?そうでない場合は、OS/datetimeモジュールからこのタイムゾーン情報を取得するにはどうすればよいですか?
私の例では、tzinfoまたはtimezoneクラスを呼び出すことはありません。私が作成するdatetimeオブジェクトはすべてnaiveです。だから、datetime.datetime.utcfromtimestampは、ローカルのものとは異なるdatetimeオブジェクトを正しく返すことによって、タイムゾーンを認識しているかのように機能しますか? –
ドキュメント内のdatetimeオブジェクトの説明をチェックし、datetime.fromtimestamp()関数を実行します[引数リストを確認する] –