カテゴリ: Python 更新日: 2026/02/07

Pythonでタイムゾーンを扱う完全ガイド!初心者でもわかる日時操作(pytz / zoneinfo)

Pythonで異なるタイムゾーンの時間を扱う方法(pytz / zoneinfo)
Pythonで異なるタイムゾーンの時間を扱う方法(pytz / zoneinfo)

先生と生徒の会話形式で理解しよう

生徒

「Pythonで海外の時間を扱いたいんですが、日本時間とどうやって使い分けるんですか?」

先生

「Pythonでは、タイムゾーンという考え方を使うと、日本や海外の時間を正しく扱えます。」

生徒

「タイムゾーンって、そもそも何ですか?」

先生

「それでは、パソコンを触ったことがない人でも分かるように、最初から説明していきます。」

-

1. タイムゾーンとは?Pythonで日時操作が必要な理由

1. タイムゾーンとは?Pythonで日時操作が必要な理由
1. タイムゾーンとは?Pythonで日時操作が必要な理由

タイムゾーンとは、国や地域ごとに決められた「時間のルール」のことです。日本では朝9時でも、アメリカでは前日の夜ということがあります。 これは地球が丸く、太陽が当たる位置が場所によって違うためです。

Pythonの日時操作では、このタイムゾーンを意識しないと「表示される時間がズレる」「予約時間が間違う」などの問題が起こります。 特に、Webサービス、海外向けサイト、チャットアプリ、予約システムでは必須の知識です。

この記事では「Python 日時操作」「Python タイムゾーン」「pytz 使い方」「zoneinfo 使い方」といったキーワードを意識しながら、 初心者向けに丁寧に解説します。

2. Pythonのdatetimeとは?時間を扱う基本の考え方

2. Pythonのdatetimeとは?時間を扱う基本の考え方
2. Pythonのdatetimeとは?時間を扱う基本の考え方

Pythonには、日付や時間を扱うためのdatetimeという標準機能があります。 これは「何年何月何日 何時何分何秒」という情報をまとめて扱うためのものです。

例えるなら、紙のカレンダーと時計を一つの箱に入れたような存在です。 ただし、そのままでは「どこの国の時間か」が分からない状態です。


from datetime import datetime

now = datetime.now()
print(now)

2026-01-22 10:30:15.123456

この表示だけでは、日本時間なのか、海外時間なのかは分かりません。 そこで登場するのが「タイムゾーン対応」です。

3. pytzとは?Pythonでよく使われてきたタイムゾーン管理

3. pytzとは?Pythonでよく使われてきたタイムゾーン管理
3. pytzとは?Pythonでよく使われてきたタイムゾーン管理

pytzは、Pythonで長年使われてきたタイムゾーン管理用のライブラリです。 ライブラリとは「便利な道具箱」のようなものです。

世界中のタイムゾーン情報が入っており、「Asia/Tokyo」「America/New_York」などの名前で指定できます。


from datetime import datetime
import pytz

tokyo = pytz.timezone("Asia/Tokyo")
now_tokyo = datetime.now(tokyo)
print(now_tokyo)

2026-01-22 10:30:15+09:00

「+09:00」は、日本が世界標準時間より9時間進んでいることを表します。 これで「日本時間」とはっきり分かる日時になります。

4. pytzで海外時間を扱ってみよう(日本とアメリカの比較)

4. pytzで海外時間を扱ってみよう(日本とアメリカの比較)
4. pytzで海外時間を扱ってみよう(日本とアメリカの比較)

次は、日本とアメリカの時間を同時に扱ってみましょう。 海外の友人とオンラインで約束をするときに役立つ考え方です。


from datetime import datetime
import pytz

tokyo = pytz.timezone("Asia/Tokyo")
newyork = pytz.timezone("America/New_York")

time_tokyo = datetime.now(tokyo)
time_newyork = datetime.now(newyork)

print(time_tokyo)
print(time_newyork)

2026-01-22 10:30:15+09:00
2026-01-21 20:30:15-05:00

同じ瞬間でも、国によって日付や時間が違うことがはっきり分かります。 Pythonのタイムゾーン処理は、こうしたズレを自動で計算してくれます。

-

5. zoneinfoとは?Python標準の新しいタイムゾーン機能

5. zoneinfoとは?Python標準の新しいタイムゾーン機能
5. zoneinfoとは?Python標準の新しいタイムゾーン機能

zoneinfoは、Python 3.9以降で使える新しいタイムゾーン機能です。 追加のインストールが不要で、Pythonに最初から入っています。

初心者の方には「標準で使える=準備が少なくて楽」と覚えておくと安心です。


from datetime import datetime
from zoneinfo import ZoneInfo

now = datetime.now(ZoneInfo("Asia/Tokyo"))
print(now)

2026-01-22 10:30:15+09:00

表示はpytzとほぼ同じですが、書き方が少しシンプルになっています。

6. zoneinfoで日本時間と世界時間を変換する方法

6. zoneinfoで日本時間と世界時間を変換する方法
6. zoneinfoで日本時間と世界時間を変換する方法

タイムゾーンの便利な点は「時間の変換」ができることです。 日本時間を世界標準時間に直すといった処理も簡単です。


from datetime import datetime
from zoneinfo import ZoneInfo

tokyo_time = datetime.now(ZoneInfo("Asia/Tokyo"))
utc_time = tokyo_time.astimezone(ZoneInfo("UTC"))

print(tokyo_time)
print(utc_time)

2026-01-22 10:30:15+09:00
2026-01-22 01:30:15+00:00

「UTC」とは世界の基準となる時間です。 Pythonではこの基準を使って、各国の時間を正確に計算します。

7. pytzとzoneinfoの違いと初心者におすすめなのは?

7. pytzとzoneinfoの違いと初心者におすすめなのは?
7. pytzとzoneinfoの違いと初心者におすすめなのは?

pytzは長年使われてきた実績がありますが、インストールが必要です。 一方、zoneinfoはPython標準で、今後はこちらが主流になります。

プログラミング未経験の方や、これからPythonを学ぶ方には、 「準備が少なく、書き方がシンプル」なzoneinfoがおすすめです。

どちらも「Python タイムゾーン」「Python 日時操作」を理解するうえで重要な考え方なので、 仕組みを知ることが一番の近道です。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHP の MySQL にデータを挿入する方法(INSERT 文の実行)を完全解説!初心者向けガイド
New2
Python
PythonのMixin(ミックスイン)を完全ガイド!初心者でもわかるクラス再利用の基本
New3
PHP
PHPの多次元配列(ネスト配列)の使い方をやさしく解説!初心者向けガイド
New4
PHP
PHPの三項演算子とnull合体演算子の使い方をやさしく解説!初心者向け条件分岐テクニック
-
人気記事
No.1
Java&Spring記事人気No1
PHP
PHP の型変換を完全ガイド!初心者でもわかる明示的変換・自動変換
No.2
Java&Spring記事人気No2
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
Java&Spring記事人気No3
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.4
Java&Spring記事人気No4
Python
Pythonのtimedeltaで日付の加算・減算をしよう!初心者でもわかる時間操作の基本
No.5
Java&Spring記事人気No5
PHP
PHP の基本構文(開始タグ・コメント・インデント)を完全ガイド!初心者向け解説
No.6
Java&Spring記事人気No6
PHP
PHP のデータ型を完全ガイド!初心者でもわかる int, string, float, bool など
No.7
Java&Spring記事人気No7
PHP
PHPの変数の命名規則とベストプラクティスをやさしく解説!初心者向け完全ガイド
No.8
Java&Spring記事人気No8
Python
Pythonの関数のドキュメント(docstring)の書き方!PEP 257のガイドライン
-
-