jpholidayで祝日を判定する(Python)

jpholidayで祝日を判定する(Python)Python
ゆうすけ
ゆうすけ

Python で その日が祝日かどうかを判定したいです。

資格マフィア
資格マフィア

jpholiday というライブラリを使うことで
日本の祝日を判定することができるぞ。

 

✔️ 本記事のテーマ

 jpholiday ライブラリの使い方

 

✔️ 読者さんへの前置きメッセージ

本記事は
「Python で祝日を判定する方法」
について書いています。

 

Python のサードパーティーライブラリである jpholiday を使うことで
「その日が日本の祝日かどうか」を簡単に判定することができます。

 

記事の本文では jpholiday の使い方やメソッドについて詳しく解説しています。

 

この記事に掲載しているサンプルコードは環境さえ整っていれば、
コピペで動くはずなので使用して頂いてOKです。

 

では、解説していきましょう。

 

jpholiday ライブラリの使い方

jpholiday の使い方

jpholiday の使い方は簡単です。

 

まず、以下のコマンドで環境にライブラリをインストールします。

pip install jpholiday

 

インストールが成功したら、あとは import して使用するだけです。

import jpholiday
import datetime


result = jpholiday.is_holiday_name(datetime.date(2021, 1, 1))
print(result)
# '元日'

 

上記コードでは「2021/1/1 が何の祝日か」を判定しています。

 

jpholioday では上記以外にも様々な機能が用意されています。

 

具体的にどのような機能なのかを順番に解説していきましょう。
(上の目次のリンクは記事内リンクになっています)

 

jpholiday で指定日の祝日名を取得する

jpholiday で指定日の祝日名を取得する

jpholiday では指定した日付の祝日名を取得することができます。

 

祝日名を取得するには jpholiday.is_holiday_name() メソッドを使用します。

 

引数には datetime.date 型を指定します。

戻り値として祝日の名前を String 型を返します。

import jpholiday
import datetime


result = jpholiday.is_holiday_name(datetime.date(2021, 1, 1))
print(result)
# '元日'

 

なお、祝日ではない日付を指定すると None が返ってきます。

import jpholiday
import datetime


result = jpholiday.is_holiday_name(datetime.date(2021, 1, 3))
print(result)
# None

 

 

jpholiday で指定日が祝日かどうか判定する

jpholiday で指定日が祝日かどうか判定する

jpholiday では指定した日付か祝日かどうかの判定を行うことができます。

 

祝日かどうかを判定するには jpholiday.is_holiday() メソッドを使用します。

 

引数には datetime.date 型を指定します。

戻り値として Boolean 型を返します。

import jpholiday
import datetime


result = jpholiday.is_holiday(datetime.date(2021, 1, 1))
print(result)
# True

result = jpholiday.is_holiday(datetime.date(2021, 1, 3))
print(result)
# False

 

 

jpholiday で指定年の祝日を取得する

jpholiday で指定年の祝日を取得する

jpholiday では指定した年の祝日を全て取得することができます。

 

祝日かどうかを判定するには jpholiday.is_holiday() メソッドを使用します。

 

引数には Integer 型を指定します。

戻り値として datetime.date 型の List を返します。

import jpholiday


result = jpholiday.year_holidays(2021)
# [
# (datetime.date(2021, 1, 1), '元日'), 
# (datetime.date(2021, 1, 11), '成人の日'), 
# (datetime.date(2021, 2, 11), '建国記念の日'), 
# (datetime.date(2021, 2, 23), '天皇誕生日'), 
# (datetime.date(2021, 3, 20), '春分の日'), 
# (datetime.date(2021, 4, 29), '昭和の日'), 
# (datetime.date(2021, 5, 3), '憲法記念日'), 
# (datetime.date(2021, 5, 4), 'みどりの日'), 
# (datetime.date(2021, 5, 5), 'こどもの日'), 
# (datetime.date(2021, 7, 22), '海の日'), 
# (datetime.date(2021, 7, 23), 'スポーツの日'), 
# (datetime.date(2021, 8, 8), '山の日'), 
# (datetime.date(2021, 8, 9), '山の日 振替休日'), 
# (datetime.date(2021, 9, 20), '敬老の日'),
# (datetime.date(2021, 9, 23), '秋分の日'), 
# (datetime.date(2021, 11, 3), '文化の日'), 
# (datetime.date(2021, 11, 23), '勤労感謝の日')
# ]

 

jpholiday.year_holidays() を使うことで一年間の祝日を全て取得することができます。

 

jpholiday で指定月の祝日を取得する

jpholiday で指定月の祝日を取得する

jpholiday では指定した月の祝日を全て取得することができます。

 

祝日かどうかを判定するには jpholiday.month_holidays() メソッドを使用します。

 

第 1 引数で対象年第 2 引数で対象月を指定します。

どちらの引数も Integer 型を指定します。

戻り値として datetime.date 型の List を返します。

import jpholiday


result = jpholiday.month_holidays(2021, 11)
print(result)
# [
# (datetime.date(2021, 11, 3), '文化の日'), 
# (datetime.date(2021, 11, 23), '勤労感謝の日')
# ]

 

 

jpholiday で指定範囲の祝日を取得する

jpholiday で指定範囲の祝日を取得する

jpholiday では指定した任意の範囲の祝日を全て取得することができます。

 

任意の範囲の祝日を取得するには jpholiday.between() メソッドを使用します。

 

第 1 引数で開始日第 2 引数で終了日を指定します。

どちらの引数も datetime.date 型を指定します。

戻り値として datetime.date 型の List を返します。

import jpholiday
import datetime


result = jpholiday.between(datetime.date(2021, 2, 1), datetime.date(2021, 5, 3))
print(result)
# [
# (datetime.date(2021, 2, 11), '建国記念の日'),
# (datetime.date(2021, 2, 23), '天皇誕生日'),
# (datetime.date(2021, 3, 20), '春分の日'),
# (datetime.date(2021, 4, 29), '昭和の日'),
# (datetime.date(2021, 5, 3), '憲法記念日')
# ]

 

 

Python のスキルを向上させるための 1 冊

Python のスキルを向上させるための 1 冊

jpholiday ライブラリを使って祝日判定をする方法について解説しました。

 

Python ライブラリの使い方を学ぶためには以下の書籍がオススメです。

 

この書籍は Python の便利なライブラリやその使い方について詳しく解説されています。

Python のスキルを一段上に上げるためには最適の一冊です。

エンジニアとしての自身の価値をチェックする(完全無料)

エンジニアとして、

自分の価値がどれくらいのものかご存知でしょうか?

 

エンジニアとしてIT業界に身を置いていると

今の会社でずっと働くのか、フリーランスとして独立するのか …

と様々な選択肢があります。

 

どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも

自身の価値を知っておくことはとても重要です。

 

TechClips ME では、

職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。

▼▼▼▼▼

▲▲▲▲▲

しかもTechClips MEでは想定年収を企業から提示してくれるので、

自身の価値を数字で分かりやすくたしかめることができます。

 

登録はもちろん完全無料なので、一度登録してみると良いかもしれません。

 

コメント

タイトルとURLをコピーしました