【Python】datetimeのtzinfoを変更する|実例付

※本サイトにはプロモーション・広告が含まれています。

Python datetimeモジュールを使っていると、

tzinfoのaware、naive

に必ず遭遇します

私自身、naiveをawareに変更するのにかなり手こずった覚えがあるので、

備忘録を兼ねて、昨日ご紹介のアプリと共に解説をしていきたいと思います

こんな方は必見です

datetimeモジュールについて、naive awareの変更方法がわからない

datetimeモジュールでtzinfoに関するエラーが出てきている

色んな国の時刻を調べたい!

この記事でわかること

tzinfoの変換方法

tzinfoの指定方法

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間17万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

ズバリ!tzinfoの指定方法とは?

まずは、pytzをインポートしましょう

$ pip install pytz

後に、pythonを起動し、

import datetime, pytz

ここでは、now変数に現在の時刻を入力しましょう

dt_now = datetime.datetime.now()

変換方法です

dt_jst = dt_now.astimezone(pytz.timezone('Asia/Tokyo'))

timezoneが日本(東京)時間に変更されました

【出力結果】

2021-02-23 21:09:05+09:00

timezone一覧の表記

日本時間のタイムゾーンは、

Asia/Tokyo

で指定できます

他の国はどのように表記するのでしょうか??

こちらで一覧を調べることができます!

for tz in pytz.all_timezones:
print(tz)

【出力結果】

Asia/Tokyo Asia/Tomsk Asia/Ujung_Pandang Asia/Ulaanbaatar Asia/Ulan_Bator Asia/Urumqi Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yangon Asia/Yekaterinburg Asia/Yerevan Atlantic/Azores Atlantic/Bermuda Atlantic/Canary Atlantic/Cape_Verde Atlantic/Faeroe Atlantic/Faroe Atlantic/Jan_Mayen Atlantic/Madeira Atlantic/Reykjavik Atlantic/South_Georgia Atlantic/St_Helena Atlantic/Stanley Australia/ACT
.................................................

などというようにまだまだたくさん出てきます

ご自身の興味あるものを上記のコードの中で置き換えて試してみましょう

本日もありがとうございました!

タイトルとURLをコピーしました