Pythonで祝日判定する方法を完全解説!初心者でもわかるholidaysモジュール入門
生徒
「Pythonで、今日が祝日かどうかを調べることってできますか?」
先生
「できますよ。Pythonにはholidaysという便利なモジュールがあって、日本の祝日かどうかを簡単に判定できます。」
生徒
「パソコンをあまり触ったことがなくても使えますか?」
先生
「大丈夫です。日付の考え方から、ゆっくり説明していきましょう。」
1. Pythonで祝日判定が必要になる場面とは
Pythonで祝日判定を行う場面はとても多くあります。例えば、会社の営業日を計算したいとき、学校の休校日を調べたいとき、アルバイトのシフト作成、カレンダーアプリの作成などです。
祝日とは、国が決めたお休みの日のことです。日本には「元日」「成人の日」「文化の日」など、決まった祝日があります。人が手で一つずつ確認するのは大変ですが、Pythonを使えば一瞬で判断できます。
このように、Python 日時操作 と 祝日 判定 を組み合わせることで、作業を自動化できます。
2. holidaysモジュールとは何か
holidaysモジュールとは、世界中の祝日データをまとめて扱えるPythonの追加機能です。Python本体には最初から入っていないため、「モジュールを追加する」という作業が必要になります。
モジュールとは、便利な道具箱のようなものです。Pythonに新しい機能を追加する部品だと考えるとわかりやすいです。
holidaysモジュールを使うと、「この日付は祝日ですか?」という質問を、Pythonにそのまま聞けるようになります。
3. holidaysモジュールのインストール方法
まずは、holidaysモジュールをパソコンに入れます。これを「インストール」と言います。インストールとは、必要な道具をパソコンに準備することです。
pip install holidays
この命令は、Pythonに「holidaysを使えるようにしてください」とお願いしているイメージです。実行が終われば準備完了です。
4. Pythonで日付を扱う基本(datetime)
祝日判定の前に、Pythonで日付を扱う方法を知っておきましょう。Pythonではdatetimeという標準機能を使います。
日付とは、「年・月・日」をまとめた情報です。カレンダーをそのままPythonに渡すイメージです。
import datetime
today = datetime.date(2026, 1, 1)
print(today)
2026-01-01
このように書くと、「2026年1月1日」という日付をPythonで扱えます。
5. 指定した日が祝日か判定する基本コード
ここから、holidaysモジュールを使った祝日判定を行います。日本の祝日を使うためにJapanを指定します。
import holidays
import datetime
jp_holidays = holidays.Japan()
check_date = datetime.date(2026, 1, 1)
if check_date in jp_holidays:
print("祝日です")
else:
print("祝日ではありません")
祝日です
「in」という言葉は、「含まれているか」という意味です。この日付が祝日一覧に入っているかを調べています。
6. 今日が祝日かどうかを自動で判定する
毎回日付を手で書くのは大変です。そこで「今日の日付」を自動で取得して、祝日判定をしてみましょう。
import holidays
import datetime
jp_holidays = holidays.Japan()
today = datetime.date.today()
if today in jp_holidays:
print("今日は祝日です")
else:
print("今日は祝日ではありません")
これで、プログラムを実行したその日の祝日判定ができます。
7. 祝日の名前を表示する方法
holidaysモジュールでは、祝日かどうかだけでなく、「何の祝日か」も調べられます。
import holidays
import datetime
jp_holidays = holidays.Japan()
date = datetime.date(2026, 5, 5)
if date in jp_holidays:
print(jp_holidays[date])
こどもの日
このように、祝日の名前まで表示できるので、カレンダー作成にも使えます。
8. holidaysモジュールを使うときの注意点
holidaysモジュールはとても便利ですが、年ごとに祝日が変更される場合があります。そのため、定期的にモジュールを更新することが大切です。
また、Python 日時操作 や 祝日 判定 を学ぶときは、まず「日付とは何か」をしっかり理解することが重要です。カレンダーを思い浮かべながらコードを見ると、理解しやすくなります。