カテゴリ: 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
PHP
PHP の break, continue の使い方を完全解説!初心者でもわかるループ制御
New2
PHP
PHP の大文字・小文字変換(strtoupper, strtolower)
New3
Python
Pythonのfor文の使い方!リスト・辞書・文字列をループ処理する方法
New4
Python
Pythonの辞書のキーを変更する方法(pop() / 新しい辞書作成)初心者向け完全ガイド
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.2
Java&Spring記事人気No2
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
No.3
Java&Spring記事人気No3
Python
Pythonのインストール&環境構築!Windows・Mac・Linuxでの手順を初心者向けに解説
No.4
Java&Spring記事人気No4
Python
PythonでPostgreSQLを操作する方法!psycopg2の基本と実践を初心者向けに解説
No.5
Java&Spring記事人気No5
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Python
Pythonの書き方を基本から解説!はじめてのPythonプログラム
No.7
Java&Spring記事人気No7
Python
Pythonのプロパティ(@property)の使い方を完全ガイド!初心者でも理解できるゲッターとセッター
No.8
Java&Spring記事人気No8
Python
PythonのMixin(ミックスイン)を完全ガイド!初心者でもわかるクラス再利用の基本