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

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

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

tzinfoのaware、naive

に必ず遭遇します

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

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

こんな方は必見です

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

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

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

この記事でわかること

tzinfoの変換方法

tzinfoの指定方法

運営者プロフィール

運営者プロフィールアイコン

現在はIT企業のプロダクトマネージャーとして、個人向け/社内向けシステムなど、複数のシステム開発・運営に携わっています。

Webサイト構築やECサイトの開発経験に加えて、PythonなどのプログラミングやSalesforceなどのクラウドアプリケーションに関する幅広い知識・経験を活かして「プログラミング初心者がスムーズに学べるサイト」を目指しています。

Githubでは、趣味で作成したアプリなどを公開しています。

https://github.com/Yulikepython/

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

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

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

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

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

ズバリ!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をコピーしました