【Python】タイムゾーンを扱うpytzのインストール

【Python】タイムゾーンを扱うpytzのインストール プログラミング

「Pythonでタイムゾーンを扱いたい」
「タイムゾーンについてイマイチよくわからない・・・」

このような場合には、pytzがオススメです。
この記事では、pytzのインストールについて解説しています。

本記事の内容

  • pytzとは?
  • pytzのシステム要件
  • pytzのインストール
  • pytzの動作確認

それでは、上記に沿って解説していきます。

pytzとは?

pytzとは、Pythonでタイムゾーンを扱うことができるライブラリです。
Pythonでタイムゾーンと言えば、pytzが代表的ではないでしょうか。

実際、pytzはかなりのライブラリで利用されています。
他のパッケージから依存されているということです。

ただし、Pythonで日時を扱うということであれば話は変わります。
単純に日時を扱いたいのであれば、Arrowをオススメします。

以上、pytzについて説明しました。
次は、pytzのシステム要件を説明します。

pytzのシステム要件

現時点(2022年6月末)でのpytzの最新バージョンは、2022.1となります。
この最新バージョンは、2022年3月20日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

サポート対象となるPythonのバージョンは、以下となっています。

Pythonオールスターズですね。
ここまでの幅広い対応は、見たことがありません。

ただ、我々は以下のPython公式開発サイクルに従ったバージョンを利用しましょう。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

2022年6月末現在なら、Python 3.7以降がサポート対象となります。
したがって、システム要件としてはPython 3.7以降を推奨しておきます。

まとめると、pytzのシステム要件はあってないようなモノです。
でも、セキュリティを意識するなら、Python 3.7以降の利用を前提にしましょう。

以上、pytzのシステム要件を説明しました。
次は、pytzのインストールを説明します。

pytzのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        22.1.2
setuptools 62.6.0
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、pytzのインストールです。
pytzのインストールは、以下のコマンドとなります。

pip install pytz

pytzのインストールは、本当に一瞬です。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list
Package    Version
---------- -------
pip        22.1.2
pytz       2022.1
setuptools 62.6.0
wheel      0.36.2

pytzには、依存するパッケージが存在していません。
そのため、既存環境への導入が容易に可能です。

以上、pytzのインストールを説明しました。
次は、pytzの動作確認を説明します。

pytzの動作確認

pytzの動作確認を行います。
まずは、次のコードを実行してみてください。

from datetime import datetime

dt = datetime.now()
print(dt)

実行すると、実行した時点での日本における現在時刻が表示されます。

2022-06-25 09:53:38.794557

では、このコードを海外で実行したらどうなるでしょうか?
おそらく、その地域のタイムゾーンに沿った現在時刻が表示されるはずです。

この仕組みとしては、システムのタイムゾーンを利用しています。
日本であれば、日本のタイムゾーンでOSをインストールしているはずです。

だから、何の工夫もなく現地毎に正しい現在時刻が表示されます。
しかし、海外現地の現在時刻を知りたいケースもあります。

例えば、ロサンゼルスの現在時刻を知りたいとしましょう。
そのような場合に、pytzが活躍します。

先ほどのコードを少し改変しています。

from datetime import datetime
from pytz import timezone

dt = datetime.now(timezone('US/Pacific'))
print(dt)

上記を実行した結果は、次のような結果となります。

2022-06-24 18:20:11.868246-07:00

実行時の日本における現在時刻は、2022年6月25日10:20頃です。
結果より、日本とロサンゼルスでは16時間の時差があることが確認できます。

実際、時差を確認するサイトで同時刻に表示される内容とも一致しています。

このように、タイムゾーンを指定したい場合にpytzが活躍します。

以上、pytzの動作確認について説明しました。

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