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

Pythonで祝日判定する方法を完全解説!初心者でもわかるholidaysモジュール入門

Pythonで指定日が祝日か判定する方法(holidaysモジュール)
Pythonで指定日が祝日か判定する方法(holidaysモジュール)

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

生徒

「Pythonで、今日が祝日かどうかを調べることってできますか?」

先生

「できますよ。Pythonにはholidaysという便利なモジュールがあって、日本の祝日かどうかを簡単に判定できます。」

生徒

「パソコンをあまり触ったことがなくても使えますか?」

先生

「大丈夫です。日付の考え方から、ゆっくり説明していきましょう。」

1. Pythonで祝日判定が必要になる場面とは

1. Pythonで祝日判定が必要になる場面とは
1. Pythonで祝日判定が必要になる場面とは

Pythonで祝日判定を行う場面はとても多くあります。例えば、会社の営業日を計算したいとき、学校の休校日を調べたいとき、アルバイトのシフト作成、カレンダーアプリの作成などです。

祝日とは、国が決めたお休みの日のことです。日本には「元日」「成人の日」「文化の日」など、決まった祝日があります。人が手で一つずつ確認するのは大変ですが、Pythonを使えば一瞬で判断できます。

このように、Python 日時操作 と 祝日 判定 を組み合わせることで、作業を自動化できます。

2. holidaysモジュールとは何か

2. holidaysモジュールとは何か
2. holidaysモジュールとは何か

holidaysモジュールとは、世界中の祝日データをまとめて扱えるPythonの追加機能です。Python本体には最初から入っていないため、「モジュールを追加する」という作業が必要になります。

モジュールとは、便利な道具箱のようなものです。Pythonに新しい機能を追加する部品だと考えるとわかりやすいです。

holidaysモジュールを使うと、「この日付は祝日ですか?」という質問を、Pythonにそのまま聞けるようになります。

3. holidaysモジュールのインストール方法

3. holidaysモジュールのインストール方法
3. holidaysモジュールのインストール方法

まずは、holidaysモジュールをパソコンに入れます。これを「インストール」と言います。インストールとは、必要な道具をパソコンに準備することです。


pip install holidays

この命令は、Pythonに「holidaysを使えるようにしてください」とお願いしているイメージです。実行が終われば準備完了です。

4. Pythonで日付を扱う基本(datetime)

4. Pythonで日付を扱う基本(datetime)
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. 指定した日が祝日か判定する基本コード

5. 指定した日が祝日か判定する基本コード
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. 今日が祝日かどうかを自動で判定する

6. 今日が祝日かどうかを自動で判定する
6. 今日が祝日かどうかを自動で判定する

毎回日付を手で書くのは大変です。そこで「今日の日付」を自動で取得して、祝日判定をしてみましょう。


import holidays
import datetime

jp_holidays = holidays.Japan()
today = datetime.date.today()

if today in jp_holidays:
    print("今日は祝日です")
else:
    print("今日は祝日ではありません")

これで、プログラムを実行したその日の祝日判定ができます。

7. 祝日の名前を表示する方法

7. 祝日の名前を表示する方法
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モジュールを使うときの注意点

8. holidaysモジュールを使うときの注意点
8. holidaysモジュールを使うときの注意点

holidaysモジュールはとても便利ですが、年ごとに祝日が変更される場合があります。そのため、定期的にモジュールを更新することが大切です。

また、Python 日時操作 や 祝日 判定 を学ぶときは、まず「日付とは何か」をしっかり理解することが重要です。カレンダーを思い浮かべながらコードを見ると、理解しやすくなります。

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

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

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
New2
Python
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
New3
Python
Pythonの仮想環境とは?venvを使った環境構築の手順を初心者向けに解説
New4
Python
Pythonのダックタイピングを完全ガイド!初心者でもわかる動的なオブジェクト指向設計
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでエラーメッセージを取得する方法を完全解説!初心者でもわかるExceptionオブジェクト
No.2
Java&Spring記事人気No2
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.3
Java&Spring記事人気No3
PHP
PHP の MySQL にデータを挿入する方法(INSERT 文の実行)を完全解説!初心者向けガイド
No.4
Java&Spring記事人気No4
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.5
Java&Spring記事人気No5
PHP
PHP の MySQL 接続の基本(mysqli, PDO)を完全解説!初心者向けガイド
No.6
Java&Spring記事人気No6
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.7
Java&Spring記事人気No7
Python
PythonでSQLiteを使う方法を完全ガイド!初心者でもわかるデータベース基本操作
No.8
Java&Spring記事人気No8
Python
Pythonのカスタム例外を作成する方法を完全解説!初心者でもわかる独自のExceptionクラス入門