JPHoliday
日本の祝日を取得するライブラリ
Installation
pip install jpholiday
Sample Code
# 指定日の祝日名を取得
import jpholiday
import datetime
# datetime.date
jpholiday.is_holiday_name(datetime.date(2017, 1, 1))
> '元日'
jpholiday.is_holiday_name(datetime.date(2017, 1, 2))
> '元日 振替休日'
jpholiday.is_holiday_name(datetime.date(2017, 1, 3))
> None
# datetime.datetime
jpholiday.is_holiday_name(datetime.datetime(2017, 1, 1, 1, 1, 1))
> '元日'
jpholiday.is_holiday_name(datetime.datetime(2017, 1, 2, 1, 1, 1))
> '元日 振替休日'
jpholiday.is_holiday_name(datetime.datetime(2017, 1, 3, 1, 1, 1))
> None
指定日が祝日か判定
import jpholiday
import datetime
# datetime.date
jpholiday.is_holiday(datetime.date(2017, 1, 1))
> True
jpholiday.is_holiday(datetime.date(2017, 1, 2))
> True
jpholiday.is_holiday(datetime.date(2017, 1, 3))
> False
# datetime.datetime
jpholiday.is_holiday(datetime.datetime(2017, 1, 1, 1, 1, 1))
> True
jpholiday.is_holiday(datetime.datetime(2017, 1, 2, 1, 1, 1))
> True
jpholiday.is_holiday(datetime.datetime(2017, 1, 3, 1, 1, 1))
> False
指定年の祝日を取得
import jpholiday
jpholiday.year_holidays(2017)
>[(datetime.date(2017, 1, 1), '元日'),
(datetime.date(2017, 1, 2), '元日 振替休日'),
(datetime.date(2017, 1, 9), '成人の日'),
(datetime.date(2017, 2, 11), '建国記念の日'),
(datetime.date(2017, 3, 20), '春分の日'),
(datetime.date(2017, 4, 29), '昭和の日'),
(datetime.date(2017, 5, 3), '憲法記念日'),
(datetime.date(2017, 5, 4), 'みどりの日'),
(datetime.date(2017, 5, 5), 'こどもの日'),
(datetime.date(2017, 7, 17), '海の日'),
(datetime.date(2017, 8, 11), '山の日'),
(datetime.date(2017, 9, 18), '敬老の日'),
(datetime.date(2017, 9, 23), '秋分の日'),
(datetime.date(2017, 10, 9), '体育の日'),
(datetime.date(2017, 11, 3), '文化の日'),
(datetime.date(2017, 11, 23), '勤労感謝の日'),
(datetime.date(2017, 12, 23), '天皇誕生日')]
指定月の祝日を取得
import jpholiday
jpholiday.month_holidays(2017, 5)
>[(datetime.date(2017, 5, 3), '憲法記念日'),
(datetime.date(2017, 5, 4), 'みどりの日'),
(datetime.date(2017, 5, 5), 'こどもの日')]
指定範囲の祝日を取得
import jpholiday
import datetime
# datetime.date
jpholiday.between(datetime.date(2017, 1, 1), datetime.date(2017, 5, 3))
>[(datetime.date(2017, 1, 1), '元日'),
(datetime.date(2017, 1, 2), '元日 振替休日'),
(datetime.date(2017, 1, 9), '成人の日'),
(datetime.date(2017, 2, 11), '建国記念の日'),
(datetime.date(2017, 3, 20), '春分の日'),
(datetime.date(2017, 4, 29), '昭和の日'),
(datetime.date(2017, 5, 3), '憲法記念日')]
# datetime.datetime
jpholiday.between(datetime.datetime(2017, 1, 1, 3, 15, 0), datetime.datetime(2017, 5, 3, 12, 30, 12))
>[(datetime.date(2017, 1, 1), '元日'),
(datetime.date(2017, 1, 2), '元日 振替休日'),
(datetime.date(2017, 1, 9), '成人の日'),
(datetime.date(2017, 2, 11), '建国記念の日'),
(datetime.date(2017, 3, 20), '春分の日'),
(datetime.date(2017, 4, 29), '昭和の日'),
(datetime.date(2017, 5, 3), '憲法記念日')]
独自の休日を追加
import jpholiday
import datetime
class TestHoliday(jpholiday.OriginalHoliday):
def _is_holiday(self, date):
if date == datetime.date(2020, 2, 9):
return True
return False
def _is_holiday_name(self, date):
return '特別休暇'
jpholiday.is_holiday_name(datetime.date(2020, 2, 9))
> '特別休暇'
jpholiday.is_holiday(datetime.date(2020, 2, 9))
> True
独自の休日を削除
import jpholiday
import datetime
jpholiday.OriginalHoliday.unregister(TestHoliday)
Example
独自の休日をファイルから読み込む
import jpholiday
import configparser
class TestHoliday(jpholiday.OriginalHoliday):
original_holidays = {}
config = configparser.ConfigParser()
config.read('holidays.ini')
if 'HOLIDAYS' in config:
original_holidays = config['HOLIDAYS']
def _is_holiday(self, date):
if date in [datetime.strptime(holiday,'%Y-%m-%d').date() for holiday in self.original_holidays.keys()]:
return True
return False
def _is_holiday_name(self, date):
if date.strftime('%Y-%m-%d') in self.original_holidays.keys():
return self.original_holidays[date.strftime('%Y-%m-%d')]
else:
return None
'holidays.ini'
[HOLIDAYS]
2021-02-22: 特別休暇1
2021-02-24: 特別休暇2
jpholiday.is_holiday(datetime.date(2021, 2, 22))
> True
jpholiday.is_holiday_name(datetime.date(2021, 2, 22))
> 特別休暇1
Metadata
Release files for jpholiday 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jpholiday-0.1.7.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jpholiday-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.9 kB
Release files / jpholiday-0.1.7.tar.gz
| Download URL | jpholiday-0.1.7.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22c72882340df30b732616023cd20fb89cfa5510ef1f9b5f40124b54b38c40ff
|
|
BLAKE2b-256 checksum How to use checksums |
d476209051c6b1cf4c140289fae5e9768ced5f1b2c19b70833f4a1087fbb0965
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
|
Release files / jpholiday-0.1.7-py3-none-any.whl
| Download URL | jpholiday-0.1.7-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8428389b0371a4b367bb30be55e7d05afb5d4968b080199e7429c188bce099b1
|
|
BLAKE2b-256 checksum How to use checksums |
f9dc1f0e71c610725f15901b1a279dc3a1806081b317427184410fe1b174e3e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
|