datetime.datetime.utcnow()
datetime
明示的に UTC であるにもかかわらず、タイムゾーン情報がないのはなぜですかdatetime
?
これには が含まれると予想されますtzinfo
。
ベストアンサー1
Python 3.2以降では、datetime
モジュールにはdatetime.timezone
のドキュメントdatetime.utcnow()
言う:
を呼び出すことによって、認識された現在の UTC 日時を取得できます。
datetime.now(timezone.utc)
したがって、 UTC であることを示すためにdatetime.utcnow()
設定するのではなくtzinfo
、設定するとdatetime.now(datetime.timezone.utc)
UTC 時刻を返します。 tzinfo
つまり、次のことができます:
>>> import datetime
>>> datetime.datetime.now(datetime.timezone.utc)
datetime.datetime(2014, 7, 10, 2, 43, 55, 230107, tzinfo=datetime.timezone.utc)
Python 3.11以降では、datetime.UTC
これは と同等ですdatetime.timezone.utc
。したがって も実行できますdatetime.datetime.now(datetime.UTC)
。