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でのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Python

Posted by ちこ