Not naive datetime (tzinfo is already set)はなぜ起こる?(Python3)

今回はNot naive datetime (tzinfo is already set)はどういったときに起こるのかについて解説していきます。

動作環境はPython3です。



Not naive datetime (tzinfo is already set)はなぜ起こる?(Python3)

先にNot naive datetime (tzinfo is already set)はなぜ起こるのか結論を書くと、タイムゾーンをタイムゾーンに変換しているからです。

例として、次のソースを準備しました。
意図的にNot naive datetime (tzinfo is already set)を起こさせるようにしております。

このソースを実行すると次のようになります。

UTCのタイムゾーンに変換しようとしている9行目の
aware_date = utc.localize(dt_aware)
で落ちていますね。

これはもともとdt_awareがタイムゾーンの変数として定義されているからです。

Not naive datetime (tzinfo is already set)のエラーが起きたときはタイムゾーンをタイムゾーンに変換しようとしている箇所がないか調べてみましょう。

終わりに

今回はNot naive datetime (tzinfo is already set)はなぜ起こるのかについてご紹介いたしました。

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






Python

Posted by ちこ