カテゴリ: Python 更新日: 2026/01/10

Pythonで指定日が祝日か判定する方法!初心者でもわかるholidaysモジュールの使い方

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

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

生徒

「Pythonで特定の日が祝日かどうかって判定できますか?」

先生

「はい、holidaysという便利なモジュールを使えば、日本の祝日も簡単に調べられますよ。」

生徒

「Python初心者でも簡単に使えるんですか?」

先生

「もちろんです!使い方を一から丁寧に説明しますので、一緒にやってみましょう!」

-

1. holidaysモジュールとは?祝日を簡単に判定できる便利機能

1. holidaysモジュールとは?祝日を簡単に判定できる便利機能
1. holidaysモジュールとは?祝日を簡単に判定できる便利機能

holidaysモジュールは、指定した国の祝日を自動で判定してくれるPythonの外部ライブラリです。アメリカ、日本、カナダなど多くの国に対応していて、業務システムやスケジュール管理にとても役立ちます。

日本の祝日も対応しており、「この日が祝日かどうか」「この年の祝日はいつか」などをプログラムから簡単にチェックできます。

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

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

holidaysモジュールは標準では入っていないため、まずはPythonにインストールする必要があります。以下のコマンドを使ってインストールしてください。


pip install holidays

コマンドプロンプトやターミナルで上の命令を打てば、数秒で完了します。

3. 指定日が祝日かどうかを判定する基本的なコード

3. 指定日が祝日かどうかを判定する基本的なコード
3. 指定日が祝日かどうかを判定する基本的なコード

それでは、具体的に2025年1月1日が祝日かどうかを判定するサンプルコードを見てみましょう。日本の祝日として判定したいので、country='JP'を指定します。


import holidays
import datetime

# 日本の祝日リストを作成(2025年)
jp_holidays = holidays.country_holidays('JP', years=2025)

# 判定したい日付
check_date = datetime.date(2025, 1, 1)

# 判定
if check_date in jp_holidays:
    print(f"{check_date} は祝日です({jp_holidays[check_date]})")
else:
    print(f"{check_date} は祝日ではありません")

2025-01-01 は祝日です(元日)

jp_holidaysは辞書のような構造になっていて、日付をキーにして祝日の名前を取り出せます。とてもシンプルです。

4. 今日が祝日かどうかを自動判定する方法

4. 今日が祝日かどうかを自動判定する方法
4. 今日が祝日かどうかを自動判定する方法

datetime.date.today()を使えば、今日の日付が祝日かどうかをリアルタイムでチェックできます。毎日自動で判定したいときに便利です。


import holidays
import datetime

jp_holidays = holidays.country_holidays('JP')
today = datetime.date.today()

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

このように書くだけで、システムを起動したその日の祝日情報がわかります。

-

5. 特定の年のすべての祝日一覧を取得する

5. 特定の年のすべての祝日一覧を取得する
5. 特定の年のすべての祝日一覧を取得する

1年分の祝日を全部表示したい場合も簡単です。たとえば2025年の祝日を一覧表示するには次のようにします。


import holidays

jp_holidays = holidays.country_holidays('JP', years=2025)

for date, name in sorted(jp_holidays.items()):
    print(f"{date}:{name}")

2025-01-01:元日
2025-01-13:成人の日
...

スケジュール作成やカレンダー生成にとても役立ちますね。

6. 平日・休日・祝日を組み合わせて判定する方法

6. 平日・休日・祝日を組み合わせて判定する方法
6. 平日・休日・祝日を組み合わせて判定する方法

たとえば「土日や祝日を休みにしたい」といった場合、曜日と祝日の両方をチェックする必要があります。


import holidays
import datetime

check_date = datetime.date(2025, 9, 15)
jp_holidays = holidays.country_holidays('JP', years=2025)

# 曜日番号(0=月曜, 6=日曜)
weekday = check_date.weekday()

if check_date in jp_holidays or weekday >= 5:
    print("この日は休みです")
else:
    print("この日は平日です")

この日は休みです

weekday()で土曜(5)・日曜(6)を調べ、祝日とあわせて休日判定ができます。

7. holidaysモジュールの注意点と対応国

7. holidaysモジュールの注意点と対応国
7. holidaysモジュールの注意点と対応国

holidaysモジュールはたくさんの国に対応していますが、一部の祝日(地方限定など)は入っていないこともあります。また、将来の祝日は政府の発表で変更されることがあるため、最新の祝日情報を常に確認するようにしましょう。

対応している国のコード(JP、US、UKなど)は公式ドキュメントやholidays.list_supported_countries()で確認できます。

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

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

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.5
Java&Spring記事人気No5
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.6
Java&Spring記事人気No6
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
-
-