flaretool.holiday package¶
Submodules¶
flaretool.holiday.JapaneseHolidays module¶
旧モジュールパス互換のためのシム
実装は flaretool.holiday.japanese_holidays に移動しました。
flaretool.holiday.JapaneseHolidays というモジュールパスを
importしている既存コードのために残しています。
- class flaretool.holiday.JapaneseHolidays.JapaneseHolidays¶
Bases:
object日本の祝日を管理するクラス(オフライン版)
祝日の定義は
flaretool.holiday.algorithmsの宣言的な ルールテーブルに基づいて計算されます。法定の祝日に加えて、単発の追加休日(
set_additional_holiday()/add_custom_holidays())や毎年繰り返すカスタム休日ルール (add_custom_holiday_rule())をインスタンス単位で登録できます。 これらの独自休日は法定祝日の判定結果(キャッシュ)には影響しません。- add_business_days(date: str | datetime | date, days: int) date¶
指定日からn営業日後(または前)の日付を取得
days が正の場合はn営業日後、負の場合はn営業日前を返します。 days が 0 の場合は変換した日付をそのまま返します (その日が営業日かどうかは判定しません)。
週末(set_weekendの設定に従う)・祝日・独自休日をスキップします。
- Parameters:
date (str or datetime or date) – 起点の日付
days (int) – 進める営業日数(負の値で過去方向)
- Returns:
n営業日後(前)の日付
- Return type:
datetime.date
- add_custom_holiday_rule(name: str, rule: str) None¶
毎年繰り返すカスタム休日ルールを追加
- ルール文字列の書式:
“MM/DD” : 毎年その日を休日とする(例: “8/15”)
“MM/DD-MM/DD” : 毎年その期間(両端を含む)を休日とする (例: “12/29-1/3”)
開始月日が終了月日より後の場合(例: “12/29-1/3”)は年をまたぐ 期間として扱います。判定対象の日付それ自身の年で評価されるため、 例えば “12/29-1/3” は 2025年12月30日にも 2026年1月2日にも 該当します(12/29~12/31 と 1/1~1/3 のどちらの側も、判定する 日付と同じ年で照合されます)。
- 注意:
ルールは判定時に遅延評価され、法定祝日のキャッシュには 影響しません。
法定祝日と重なる日は法定祝日名が優先されます。
ルールに該当する日が日曜日でも振替休日は発生しません (振替休日は法令に基づく祝日と単発の追加休日のみが対象)。
- Parameters:
name (str) – 休日名
rule (str) – ルール文字列(”MM/DD” または “MM/DD-MM/DD”)
- Raises:
ValueError – ルール文字列の書式が不正な場合
- add_custom_holidays(name: str, dates: Iterable[str | datetime | date]) None¶
独自の休日をまとめて追加
set_additional_holiday の一括登録版です。同じ名称で複数の日付を 単発の追加休日として登録します。
- Parameters:
name (str) – 休日名
dates (Iterable[str or datetime or date]) – 休日の日付の一覧
- Raises:
ValueError – サポートされていない日付形式が含まれる場合
- clear_custom_holidays() None¶
独自の休日をすべてクリア
単発の追加休日(set_additional_holiday / add_custom_holidays)と 毎年繰り返すカスタム休日ルール(add_custom_holiday_rule)の両方を 削除します。週末の設定(set_weekend)は変更しません。
- count_business_days(start_date: str | datetime | date, end_date: str | datetime | date) int¶
指定期間内(両端を含む)の営業日数を取得
- Parameters:
start_date (str or datetime or date) – 開始日
end_date (str or datetime or date) – 終了日
- Returns:
営業日数
- Return type:
int
- Raises:
ValueError – 開始日が終了日より後の場合
- get_business_date_range(start_date: date, end_date: date) list[date]¶
指定期間内の営業日の一覧を取得
週末とみなす曜日は set_weekend の設定に従います (デフォルトは土曜日・日曜日)。
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
日付のリスト
- Return type:
list[datetime.date]
- get_date_information(date: date) tuple[int, str, int, str | None]¶
指定された日付から週番号、曜日、および祝日の名称を取得
- Parameters:
date (datetime.date) – 日付
- Returns:
週番号(int)(0-4)、曜日(str)、曜日(int)(0-6)、祝日の名称(str)のタプル
- Return type:
tuple
- get_first_business_day(date: date, days: int = 1) date¶
指定された月の営業日を取得(デフォルトは第1営業日)
- Parameters:
date (datetime.date) – 日付
days (int) – 営業日数(デフォルトは1)
- Returns:
営業日
- Return type:
datetime.date
- get_holiday_name(date: str | datetime | date) str | None¶
祝日名を取得
法定祝日(国民の休日・振替休日を含む)、単発の追加休日、 毎年繰り返すカスタム休日ルールの順に判定します (法定祝日名が常に優先されます)。
- Parameters:
date (datetime or date or str) – 日時
- Returns:
祝日名(祝日ではない場合はNone)
- Return type:
str
- get_holidays(date: str) list[tuple[date, str]]¶
祝日の一覧を取得
- Parameters:
date (str) – 年 or 年月 の日時
- Raises:
ValueError – 日時のフォーマットエラー
- Returns:
(日付, 祝日名) のタプルのリスト。
- Return type:
list[tuple[datetime.date, str]]
Note
v0.3.0 でタプルの並びを (祝日名, 日付) から (日付, 祝日名) に変更し、 get_holidays_in_range / get_rest_days_in_range と統一しました。
Example
>>> get_holidays("2023") >>> get_holidays("2023-01") >>> get_holidays("2023/01") >>> get_holidays("202301")
- get_holidays_in_range(start_date: date, end_date: date) list[tuple[date, str]]¶
特定の期間内の祝日一覧を取得
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
(日付, 祝日名) のタプルのリスト。
- Return type:
list[tuple[datetime.date, str]]
- get_last_business_day(date: date) date¶
指定された月の最終営業日を取得
- Parameters:
date (datetime.date) – 日付
- Returns:
最終営業日
- Return type:
datetime.date
- static get_last_day(date: date) date¶
指定された月の最終日を取得
- Parameters:
date (datetime.date) – 月を指定した日付
- Returns:
最終日の日付オブジェクト
- Return type:
datetime.date
- get_rest_days_in_range(start_date: date, end_date: date) list[tuple[date, str]]¶
特定の期間内の休みの一覧を取得(土日含む)
「土曜日」「日曜日」のラベル付けは暦に基づいており、 set_weekend による営業日設定の影響を受けません。
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
(日付, 名称) のタプルのリスト
- Return type:
list[tuple[datetime.date, str]]
- is_additional_holiday(date: date) bool¶
追加休日チェック
単発の追加休日(set_additional_holiday / add_custom_holidays)と、 毎年繰り返すカスタム休日ルール(add_custom_holiday_rule)の いずれかに該当するかを判定します。
- Parameters:
date (datetime.date) – 日付
- Returns:
追加休日の場合はTrue、そうでない場合はFalse
- Return type:
bool
- is_autumn_equinox(date: date) bool¶
秋分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
秋分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_business_day(date: str | datetime | date) bool¶
営業日(週末でも祝日・独自休日でもない日)の判定
週末とみなす曜日は set_weekend で変更できます (デフォルトは土曜日・日曜日)。
- Parameters:
date (str or datetime or date) – 判定する日付
- Returns:
営業日であればTrue、そうでなければFalse
- Return type:
bool
- is_childrens_day(date: date) bool¶
こどもの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
こどもの日であればTrue、そうでなければFalse
- Return type:
bool
- is_coming_of_age_day(date: date) bool¶
成人の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
成人の日であればTrue、そうでなければFalse
- Return type:
bool
- is_constitution_day(date: date) bool¶
憲法記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
憲法記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_culture_day(date: date) bool¶
文化の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
文化の日であればTrue、そうでなければFalse
- Return type:
bool
- is_emperors_birthday(date: date) bool¶
天皇誕生日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
天皇誕生日であればTrue、そうでなければFalse
- Return type:
bool
- is_foundation_day(date: date) bool¶
建国記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
建国記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_greenery_day(date: date) bool¶
みどりの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
みどりの日であればTrue、そうでなければFalse
- Return type:
bool
- is_health_and_sports_day(date: date) bool¶
スポーツの日(2019年以前は体育の日)の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
スポーツの日であればTrue、そうでなければFalse
- Return type:
bool
- is_holiday(date: str | datetime | date) bool¶
祝日(振替休日・国民の休日・追加休日を含む)の判定
- Parameters:
date (str or datetime or date) – 判定する日付
- Returns:
祝日であればTrue、そうでなければFalse
- Return type:
bool
- is_labour_thanksgiving_day(date: date) bool¶
勤労感謝の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
勤労感謝であればTrue、そうでなければFalse
- Return type:
bool
- is_marine_day(date: date) bool¶
海の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
海の日であればTrue、そうでなければFalse
- Return type:
bool
- is_mountain_day(date: date) bool¶
山の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
山の日であればTrue、そうでなければFalse
- Return type:
bool
- is_national_holiday(date: date) bool¶
国民の休日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
国民の休日であればTrue、そうでなければFalse
- Return type:
bool
- is_new_year(date: date) bool¶
元日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
元日であればTrue、そうでなければFalse
- Return type:
bool
- is_respect_for_the_aged_day(date: date) bool¶
敬老の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
敬老の日であればTrue、そうでなければFalse
- Return type:
bool
- is_showa_day(date: date) bool¶
昭和の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
昭和の日であればTrue、そうでなければFalse
- Return type:
bool
- is_spring_equinox(date: date) bool¶
春分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
春分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_transfer_holiday(date: date) bool¶
振替休日チェック
法定の振替休日(1973年4月12日の祝日法改正の施行以降)と、 単発の追加休日が日曜日と重なった場合の翌月曜日を振替休日と 判定します。判定は算出済みの休日名が 「(振替休日)」で終わるかどうかに基づくため、 祝日そのもの(例: 2026年5月4日のみどりの日)を誤って 振替休日と判定することはありません。
- Parameters:
date (datetime.date) – 日付
- Returns:
振替休日の場合はTrue、そうでない場合はFalse
- Return type:
bool
- next_business_day(date: str | datetime | date, *, include_start: bool = False) date¶
指定日以降で直近の営業日を取得
- Parameters:
date (str or datetime or date) – 起点の日付
include_start (bool) – Trueの場合、起点が営業日ならその日を返す (デフォルト: False = 翌営業日から探索)
- Returns:
直近の営業日
- Return type:
datetime.date
- previous_business_day(date: str | datetime | date, *, include_start: bool = False) date¶
指定日以前で直近の営業日を取得
- Parameters:
date (str or datetime or date) – 起点の日付
include_start (bool) – Trueの場合、起点が営業日ならその日を返す (デフォルト: False = 前営業日から探索)
- Returns:
直近の営業日
- Return type:
datetime.date
- print_calendar(date: date) None¶
カレンダーを出力
日曜始まりで、日曜日は赤・土曜日は青・祝日は緑で表示します。
- Parameters:
date (datetime.date) – 対象年月
- set_additional_holiday(name: str, date: date) None¶
独自の休日を追加
- Parameters:
name (str) – 休日名
date (datetime.date) – 休日の日付
- set_weekend(saturday: bool = True, sunday: bool = True) None¶
営業日判定で週末(休業日)とみなす曜日を設定
この設定は営業日関連の判定 (is_business_day / get_business_date_range / add_business_days / count_business_days / next_business_day / previous_business_day / get_first_business_day / get_last_business_day)にのみ影響します。
祝日の判定そのもの(is_holiday / get_holiday_name / 振替休日など)や、 get_rest_days_in_range の「土曜日」「日曜日」のラベル付けには 影響しません(これらは法令・暦に基づいたままです)。
両方を False にすると、祝日・独自休日を除くすべての曜日が 営業日として扱われます。
- Parameters:
saturday (bool) – 土曜日を週末として扱う場合はTrue(デフォルト: True)
sunday (bool) – 日曜日を週末として扱う場合はTrue(デフォルト: True)
- static to_date(date: str | datetime | date) date¶
日付文字列をdateオブジェクトに変換します
- Parameters:
date (str or datetime or date) – 変換する日付文字列。
- Returns:
変換されたdateオブジェクト。
- Return type:
date
- Raises:
ValueError – サポートされていない日付形式の場合に発生します。
- week_day(date: date, week: int, weekday: int) date | None¶
指定された日付の月の「第week weekday曜日」に該当する日付を取得
- Parameters:
date (datetime.date) – 対象の年月を含む日付
week (int) – 週 (1から5)
weekday (int) – 曜日 (1から7, 月曜日を1とする)
- Returns:
該当する日付。 week・weekdayが範囲外の場合や、その月に第week週の 該当曜日が存在しない場合はNone
- Return type:
datetime.date or None
flaretool.holiday.JapaneseHolidaysOnline module¶
旧モジュールパス互換のためのシム
実装は flaretool.holiday.online に移動しました。
flaretool.holiday.JapaneseHolidaysOnline というモジュールパスを
importしている既存コードのために残しています。
- class flaretool.holiday.JapaneseHolidaysOnline.JapaneseHolidaysOnline¶
Bases:
JapaneseHolidays日本の祝日を管理するクラス(オンライン版)
コンストラクタで祝日データをAPIから取得します。 サポート範囲外の日付はオフライン版のロジックにフォールバックします (その際、インスタンスごとに一度だけ警告を出します)。
- holidays: HolidaysResponseModel¶
- is_autumn_equinox(date: date) bool¶
秋分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
秋分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_childrens_day(date: date) bool¶
こどもの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
こどもの日であればTrue、そうでなければFalse
- Return type:
bool
- is_coming_of_age_day(date: date) bool¶
成人の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
成人の日であればTrue、そうでなければFalse
- Return type:
bool
- is_constitution_day(date: date) bool¶
憲法記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
憲法記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_culture_day(date: date) bool¶
文化の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
文化の日であればTrue、そうでなければFalse
- Return type:
bool
- is_emperors_birthday(date: date) bool¶
天皇誕生日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
天皇誕生日であればTrue、そうでなければFalse
- Return type:
bool
- is_foundation_day(date: date) bool¶
建国記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
建国記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_greenery_day(date: date) bool¶
みどりの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
みどりの日であればTrue、そうでなければFalse
- Return type:
bool
- is_health_and_sports_day(date: date) bool¶
スポーツの日(2019年以前は体育の日)の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
スポーツの日であればTrue、そうでなければFalse
- Return type:
bool
- is_labour_thanksgiving_day(date: date) bool¶
勤労感謝の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
勤労感謝であればTrue、そうでなければFalse
- Return type:
bool
- is_marine_day(date: date) bool¶
海の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
海の日であればTrue、そうでなければFalse
- Return type:
bool
- is_mountain_day(date: date) bool¶
山の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
山の日であればTrue、そうでなければFalse
- Return type:
bool
- is_new_year(date: date) bool¶
元日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
元日であればTrue、そうでなければFalse
- Return type:
bool
- is_respect_for_the_aged_day(date: date) bool¶
敬老の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
敬老の日であればTrue、そうでなければFalse
- Return type:
bool
- is_showa_day(date: date) bool¶
昭和の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
昭和の日であればTrue、そうでなければFalse
- Return type:
bool
- is_spring_equinox(date: date) bool¶
春分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
春分の日であればTrue、そうでなければFalse
- Return type:
bool
- show_info() None¶
祝日の対応情報を表示
- version: str¶
flaretool.holiday.algorithms module¶
日本の祝日判定ルール(純粋関数とデータ駆動の定義テーブル)
このモジュールは日付計算のみを行う純粋関数の集まりで、 ネットワークやインスタンス状態には依存しません。
HOLIDAY_RULES: 祝日の宣言的な定義テーブル (名称・適用年範囲・日付ルール)。並び順はJapaneseHolidays.get_holiday_name()の判定優先順位と同じです。holidays_of_year(): 1年分の法定休日(国民の休日・振替休日を含む)を{日付: 名称}の辞書として算出します。結果はキャッシュされるため、 期間検索やカレンダー出力は辞書引きだけで済みます。
- class flaretool.holiday.algorithms.HolidayRule(key: str, name: str | Callable[[int], str], date_rule: Callable[[int], date | None])¶
Bases:
object祝日1件分の宣言的な定義
- key¶
英語識別子(JapaneseHolidaysのis_<key>メソッドに対応)
- Type:
str
- name¶
祝日名(年によって変わる場合は関数)
- Type:
str or Callable[[int], str]
- date_rule¶
年からその年の日付を求めるルール
- Type:
DateRule
- date_for_year(year: int) date | None¶
その年の該当日付を返す(適用外の年は None)
- date_rule: Callable[[int], date | None]¶
- key: str¶
- matches(date: date) bool¶
日付がこの祝日に該当するかを判定する
- name: str | Callable[[int], str]¶
- name_for_year(year: int) str¶
その年に用いる祝日名を返す
- flaretool.holiday.algorithms.equinox(month: int, base: float) Callable[[int], date | None]¶
春分・秋分の日の祝日ルールを返す(1900年~2099年の近似式)
- flaretool.holiday.algorithms.fixed(month: int, day: int) Callable[[int], date | None]¶
毎年同じ月日の祝日ルールを返す
- flaretool.holiday.algorithms.holidays_of_year(year: int) dict[date, str]¶
1年分の法定休日を算出する
国民の休日と振替休日を含みます(利用者が追加した独自の休日は含みません)。 結果はキャッシュされるため、2回目以降の呼び出しは辞書参照のみです。
- Parameters:
year (int) – 西暦年
- Returns:
日付をキー、祝日名を値とする辞書(日付昇順)
- Return type:
dict[datetime.date, str]
- flaretool.holiday.algorithms.is_national_holiday(date: date) bool¶
国民の休日(祝日に挟まれた平日等)の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
国民の休日であればTrue、そうでなければFalse
- Return type:
bool
- flaretool.holiday.algorithms.matches(key: str, date: date) bool¶
定義テーブル上の祝日
keyに日付が該当するかを判定する
- flaretool.holiday.algorithms.nth_monday(month: int, n: int) Callable[[int], date | None]¶
第n月曜日(ハッピーマンデー)の祝日ルールを返す
- flaretool.holiday.algorithms.segments(*parts: tuple[int | None, int | None, Callable[[int], date | None]]) Callable[[int], date | None]¶
適用年範囲付きのルールを合成する
(開始年, 終了年, 日付ルール) のタプルを順に評価し、 最初に年が範囲内となったルールを適用します(Noneは無制限)。 どの範囲にも該当しない年は None(祝日なし)です。
flaretool.holiday.errors module¶
祝日機能の例外定義
- exception flaretool.holiday.errors.JapaneseHolidaysError(**kwargs)¶
Bases:
FlareToolError祝日データの取得に失敗した場合に送出される例外
flaretool.holiday.japanese_holidays module¶
日本の祝日を管理するクラス(オフライン版)
- class flaretool.holiday.japanese_holidays.JapaneseHolidays¶
Bases:
object日本の祝日を管理するクラス(オフライン版)
祝日の定義は
flaretool.holiday.algorithmsの宣言的な ルールテーブルに基づいて計算されます。法定の祝日に加えて、単発の追加休日(
set_additional_holiday()/add_custom_holidays())や毎年繰り返すカスタム休日ルール (add_custom_holiday_rule())をインスタンス単位で登録できます。 これらの独自休日は法定祝日の判定結果(キャッシュ)には影響しません。- add_business_days(date: str | datetime | date, days: int) date¶
指定日からn営業日後(または前)の日付を取得
days が正の場合はn営業日後、負の場合はn営業日前を返します。 days が 0 の場合は変換した日付をそのまま返します (その日が営業日かどうかは判定しません)。
週末(set_weekendの設定に従う)・祝日・独自休日をスキップします。
- Parameters:
date (str or datetime or date) – 起点の日付
days (int) – 進める営業日数(負の値で過去方向)
- Returns:
n営業日後(前)の日付
- Return type:
datetime.date
- add_custom_holiday_rule(name: str, rule: str) None¶
毎年繰り返すカスタム休日ルールを追加
- ルール文字列の書式:
“MM/DD” : 毎年その日を休日とする(例: “8/15”)
“MM/DD-MM/DD” : 毎年その期間(両端を含む)を休日とする (例: “12/29-1/3”)
開始月日が終了月日より後の場合(例: “12/29-1/3”)は年をまたぐ 期間として扱います。判定対象の日付それ自身の年で評価されるため、 例えば “12/29-1/3” は 2025年12月30日にも 2026年1月2日にも 該当します(12/29~12/31 と 1/1~1/3 のどちらの側も、判定する 日付と同じ年で照合されます)。
- 注意:
ルールは判定時に遅延評価され、法定祝日のキャッシュには 影響しません。
法定祝日と重なる日は法定祝日名が優先されます。
ルールに該当する日が日曜日でも振替休日は発生しません (振替休日は法令に基づく祝日と単発の追加休日のみが対象)。
- Parameters:
name (str) – 休日名
rule (str) – ルール文字列(”MM/DD” または “MM/DD-MM/DD”)
- Raises:
ValueError – ルール文字列の書式が不正な場合
- add_custom_holidays(name: str, dates: Iterable[str | datetime | date]) None¶
独自の休日をまとめて追加
set_additional_holiday の一括登録版です。同じ名称で複数の日付を 単発の追加休日として登録します。
- Parameters:
name (str) – 休日名
dates (Iterable[str or datetime or date]) – 休日の日付の一覧
- Raises:
ValueError – サポートされていない日付形式が含まれる場合
- clear_custom_holidays() None¶
独自の休日をすべてクリア
単発の追加休日(set_additional_holiday / add_custom_holidays)と 毎年繰り返すカスタム休日ルール(add_custom_holiday_rule)の両方を 削除します。週末の設定(set_weekend)は変更しません。
- count_business_days(start_date: str | datetime | date, end_date: str | datetime | date) int¶
指定期間内(両端を含む)の営業日数を取得
- Parameters:
start_date (str or datetime or date) – 開始日
end_date (str or datetime or date) – 終了日
- Returns:
営業日数
- Return type:
int
- Raises:
ValueError – 開始日が終了日より後の場合
- get_business_date_range(start_date: date, end_date: date) list[date]¶
指定期間内の営業日の一覧を取得
週末とみなす曜日は set_weekend の設定に従います (デフォルトは土曜日・日曜日)。
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
日付のリスト
- Return type:
list[datetime.date]
- get_date_information(date: date) tuple[int, str, int, str | None]¶
指定された日付から週番号、曜日、および祝日の名称を取得
- Parameters:
date (datetime.date) – 日付
- Returns:
週番号(int)(0-4)、曜日(str)、曜日(int)(0-6)、祝日の名称(str)のタプル
- Return type:
tuple
- get_first_business_day(date: date, days: int = 1) date¶
指定された月の営業日を取得(デフォルトは第1営業日)
- Parameters:
date (datetime.date) – 日付
days (int) – 営業日数(デフォルトは1)
- Returns:
営業日
- Return type:
datetime.date
- get_holiday_name(date: str | datetime | date) str | None¶
祝日名を取得
法定祝日(国民の休日・振替休日を含む)、単発の追加休日、 毎年繰り返すカスタム休日ルールの順に判定します (法定祝日名が常に優先されます)。
- Parameters:
date (datetime or date or str) – 日時
- Returns:
祝日名(祝日ではない場合はNone)
- Return type:
str
- get_holidays(date: str) list[tuple[date, str]]¶
祝日の一覧を取得
- Parameters:
date (str) – 年 or 年月 の日時
- Raises:
ValueError – 日時のフォーマットエラー
- Returns:
(日付, 祝日名) のタプルのリスト。
- Return type:
list[tuple[datetime.date, str]]
Note
v0.3.0 でタプルの並びを (祝日名, 日付) から (日付, 祝日名) に変更し、 get_holidays_in_range / get_rest_days_in_range と統一しました。
Example
>>> get_holidays("2023") >>> get_holidays("2023-01") >>> get_holidays("2023/01") >>> get_holidays("202301")
- get_holidays_in_range(start_date: date, end_date: date) list[tuple[date, str]]¶
特定の期間内の祝日一覧を取得
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
(日付, 祝日名) のタプルのリスト。
- Return type:
list[tuple[datetime.date, str]]
- get_last_business_day(date: date) date¶
指定された月の最終営業日を取得
- Parameters:
date (datetime.date) – 日付
- Returns:
最終営業日
- Return type:
datetime.date
- static get_last_day(date: date) date¶
指定された月の最終日を取得
- Parameters:
date (datetime.date) – 月を指定した日付
- Returns:
最終日の日付オブジェクト
- Return type:
datetime.date
- get_rest_days_in_range(start_date: date, end_date: date) list[tuple[date, str]]¶
特定の期間内の休みの一覧を取得(土日含む)
「土曜日」「日曜日」のラベル付けは暦に基づいており、 set_weekend による営業日設定の影響を受けません。
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
(日付, 名称) のタプルのリスト
- Return type:
list[tuple[datetime.date, str]]
- is_additional_holiday(date: date) bool¶
追加休日チェック
単発の追加休日(set_additional_holiday / add_custom_holidays)と、 毎年繰り返すカスタム休日ルール(add_custom_holiday_rule)の いずれかに該当するかを判定します。
- Parameters:
date (datetime.date) – 日付
- Returns:
追加休日の場合はTrue、そうでない場合はFalse
- Return type:
bool
- is_autumn_equinox(date: date) bool¶
秋分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
秋分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_business_day(date: str | datetime | date) bool¶
営業日(週末でも祝日・独自休日でもない日)の判定
週末とみなす曜日は set_weekend で変更できます (デフォルトは土曜日・日曜日)。
- Parameters:
date (str or datetime or date) – 判定する日付
- Returns:
営業日であればTrue、そうでなければFalse
- Return type:
bool
- is_childrens_day(date: date) bool¶
こどもの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
こどもの日であればTrue、そうでなければFalse
- Return type:
bool
- is_coming_of_age_day(date: date) bool¶
成人の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
成人の日であればTrue、そうでなければFalse
- Return type:
bool
- is_constitution_day(date: date) bool¶
憲法記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
憲法記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_culture_day(date: date) bool¶
文化の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
文化の日であればTrue、そうでなければFalse
- Return type:
bool
- is_emperors_birthday(date: date) bool¶
天皇誕生日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
天皇誕生日であればTrue、そうでなければFalse
- Return type:
bool
- is_foundation_day(date: date) bool¶
建国記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
建国記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_greenery_day(date: date) bool¶
みどりの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
みどりの日であればTrue、そうでなければFalse
- Return type:
bool
- is_health_and_sports_day(date: date) bool¶
スポーツの日(2019年以前は体育の日)の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
スポーツの日であればTrue、そうでなければFalse
- Return type:
bool
- is_holiday(date: str | datetime | date) bool¶
祝日(振替休日・国民の休日・追加休日を含む)の判定
- Parameters:
date (str or datetime or date) – 判定する日付
- Returns:
祝日であればTrue、そうでなければFalse
- Return type:
bool
- is_labour_thanksgiving_day(date: date) bool¶
勤労感謝の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
勤労感謝であればTrue、そうでなければFalse
- Return type:
bool
- is_marine_day(date: date) bool¶
海の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
海の日であればTrue、そうでなければFalse
- Return type:
bool
- is_mountain_day(date: date) bool¶
山の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
山の日であればTrue、そうでなければFalse
- Return type:
bool
- is_national_holiday(date: date) bool¶
国民の休日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
国民の休日であればTrue、そうでなければFalse
- Return type:
bool
- is_new_year(date: date) bool¶
元日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
元日であればTrue、そうでなければFalse
- Return type:
bool
- is_respect_for_the_aged_day(date: date) bool¶
敬老の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
敬老の日であればTrue、そうでなければFalse
- Return type:
bool
- is_showa_day(date: date) bool¶
昭和の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
昭和の日であればTrue、そうでなければFalse
- Return type:
bool
- is_spring_equinox(date: date) bool¶
春分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
春分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_transfer_holiday(date: date) bool¶
振替休日チェック
法定の振替休日(1973年4月12日の祝日法改正の施行以降)と、 単発の追加休日が日曜日と重なった場合の翌月曜日を振替休日と 判定します。判定は算出済みの休日名が 「(振替休日)」で終わるかどうかに基づくため、 祝日そのもの(例: 2026年5月4日のみどりの日)を誤って 振替休日と判定することはありません。
- Parameters:
date (datetime.date) – 日付
- Returns:
振替休日の場合はTrue、そうでない場合はFalse
- Return type:
bool
- next_business_day(date: str | datetime | date, *, include_start: bool = False) date¶
指定日以降で直近の営業日を取得
- Parameters:
date (str or datetime or date) – 起点の日付
include_start (bool) – Trueの場合、起点が営業日ならその日を返す (デフォルト: False = 翌営業日から探索)
- Returns:
直近の営業日
- Return type:
datetime.date
- previous_business_day(date: str | datetime | date, *, include_start: bool = False) date¶
指定日以前で直近の営業日を取得
- Parameters:
date (str or datetime or date) – 起点の日付
include_start (bool) – Trueの場合、起点が営業日ならその日を返す (デフォルト: False = 前営業日から探索)
- Returns:
直近の営業日
- Return type:
datetime.date
- print_calendar(date: date) None¶
カレンダーを出力
日曜始まりで、日曜日は赤・土曜日は青・祝日は緑で表示します。
- Parameters:
date (datetime.date) – 対象年月
- set_additional_holiday(name: str, date: date) None¶
独自の休日を追加
- Parameters:
name (str) – 休日名
date (datetime.date) – 休日の日付
- set_weekend(saturday: bool = True, sunday: bool = True) None¶
営業日判定で週末(休業日)とみなす曜日を設定
この設定は営業日関連の判定 (is_business_day / get_business_date_range / add_business_days / count_business_days / next_business_day / previous_business_day / get_first_business_day / get_last_business_day)にのみ影響します。
祝日の判定そのもの(is_holiday / get_holiday_name / 振替休日など)や、 get_rest_days_in_range の「土曜日」「日曜日」のラベル付けには 影響しません(これらは法令・暦に基づいたままです)。
両方を False にすると、祝日・独自休日を除くすべての曜日が 営業日として扱われます。
- Parameters:
saturday (bool) – 土曜日を週末として扱う場合はTrue(デフォルト: True)
sunday (bool) – 日曜日を週末として扱う場合はTrue(デフォルト: True)
- static to_date(date: str | datetime | date) date¶
日付文字列をdateオブジェクトに変換します
- Parameters:
date (str or datetime or date) – 変換する日付文字列。
- Returns:
変換されたdateオブジェクト。
- Return type:
date
- Raises:
ValueError – サポートされていない日付形式の場合に発生します。
- week_day(date: date, week: int, weekday: int) date | None¶
指定された日付の月の「第week weekday曜日」に該当する日付を取得
- Parameters:
date (datetime.date) – 対象の年月を含む日付
week (int) – 週 (1から5)
weekday (int) – 曜日 (1から7, 月曜日を1とする)
- Returns:
該当する日付。 week・weekdayが範囲外の場合や、その月に第week週の 該当曜日が存在しない場合はNone
- Return type:
datetime.date or None
flaretool.holiday.models module¶
祝日オンラインAPIのレスポンスデータモデル
- class flaretool.holiday.models.HolidaysResponseModel(*, title: str, author: str, version: str, status: bool, message: str, updated: datetime, supported: SupportedRange, count: int, holidays: dict[date, str] | None)¶
Bases:
BaseDataModel祝日一覧APIのレスポンスモデル
- author: str¶
- count: int¶
- holidays: dict[date, str] | None¶
- message: str¶
- model_config = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- status: bool¶
- supported: SupportedRange¶
- title: str¶
- updated: datetime¶
- version: str¶
- class flaretool.holiday.models.SupportedRange(*, from_date: date, to: date)¶
Bases:
BaseDataModelオンライン版祝日データがサポートする日付範囲
- from_date: date¶
- model_config = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- to_date: date¶
- flaretool.holiday.models.supported¶
alias of
SupportedRange
flaretool.holiday.online module¶
日本の祝日を管理するクラス(オンライン版)
- class flaretool.holiday.online.JapaneseHolidaysOnline¶
Bases:
JapaneseHolidays日本の祝日を管理するクラス(オンライン版)
コンストラクタで祝日データをAPIから取得します。 サポート範囲外の日付はオフライン版のロジックにフォールバックします (その際、インスタンスごとに一度だけ警告を出します)。
- holidays: HolidaysResponseModel¶
- is_autumn_equinox(date: date) bool¶
秋分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
秋分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_childrens_day(date: date) bool¶
こどもの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
こどもの日であればTrue、そうでなければFalse
- Return type:
bool
- is_coming_of_age_day(date: date) bool¶
成人の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
成人の日であればTrue、そうでなければFalse
- Return type:
bool
- is_constitution_day(date: date) bool¶
憲法記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
憲法記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_culture_day(date: date) bool¶
文化の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
文化の日であればTrue、そうでなければFalse
- Return type:
bool
- is_emperors_birthday(date: date) bool¶
天皇誕生日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
天皇誕生日であればTrue、そうでなければFalse
- Return type:
bool
- is_foundation_day(date: date) bool¶
建国記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
建国記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_greenery_day(date: date) bool¶
みどりの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
みどりの日であればTrue、そうでなければFalse
- Return type:
bool
- is_health_and_sports_day(date: date) bool¶
スポーツの日(2019年以前は体育の日)の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
スポーツの日であればTrue、そうでなければFalse
- Return type:
bool
- is_labour_thanksgiving_day(date: date) bool¶
勤労感謝の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
勤労感謝であればTrue、そうでなければFalse
- Return type:
bool
- is_marine_day(date: date) bool¶
海の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
海の日であればTrue、そうでなければFalse
- Return type:
bool
- is_mountain_day(date: date) bool¶
山の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
山の日であればTrue、そうでなければFalse
- Return type:
bool
- is_new_year(date: date) bool¶
元日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
元日であればTrue、そうでなければFalse
- Return type:
bool
- is_respect_for_the_aged_day(date: date) bool¶
敬老の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
敬老の日であればTrue、そうでなければFalse
- Return type:
bool
- is_showa_day(date: date) bool¶
昭和の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
昭和の日であればTrue、そうでなければFalse
- Return type:
bool
- is_spring_equinox(date: date) bool¶
春分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
春分の日であればTrue、そうでなければFalse
- Return type:
bool
- show_info() None¶
祝日の対応情報を表示
- version: str¶
Module contents¶
日本の祝日を扱うパッケージ
- class flaretool.holiday.JapaneseHolidays¶
Bases:
object日本の祝日を管理するクラス(オフライン版)
祝日の定義は
flaretool.holiday.algorithmsの宣言的な ルールテーブルに基づいて計算されます。法定の祝日に加えて、単発の追加休日(
set_additional_holiday()/add_custom_holidays())や毎年繰り返すカスタム休日ルール (add_custom_holiday_rule())をインスタンス単位で登録できます。 これらの独自休日は法定祝日の判定結果(キャッシュ)には影響しません。- add_business_days(date: str | datetime | date, days: int) date¶
指定日からn営業日後(または前)の日付を取得
days が正の場合はn営業日後、負の場合はn営業日前を返します。 days が 0 の場合は変換した日付をそのまま返します (その日が営業日かどうかは判定しません)。
週末(set_weekendの設定に従う)・祝日・独自休日をスキップします。
- Parameters:
date (str or datetime or date) – 起点の日付
days (int) – 進める営業日数(負の値で過去方向)
- Returns:
n営業日後(前)の日付
- Return type:
datetime.date
- add_custom_holiday_rule(name: str, rule: str) None¶
毎年繰り返すカスタム休日ルールを追加
- ルール文字列の書式:
“MM/DD” : 毎年その日を休日とする(例: “8/15”)
“MM/DD-MM/DD” : 毎年その期間(両端を含む)を休日とする (例: “12/29-1/3”)
開始月日が終了月日より後の場合(例: “12/29-1/3”)は年をまたぐ 期間として扱います。判定対象の日付それ自身の年で評価されるため、 例えば “12/29-1/3” は 2025年12月30日にも 2026年1月2日にも 該当します(12/29~12/31 と 1/1~1/3 のどちらの側も、判定する 日付と同じ年で照合されます)。
- 注意:
ルールは判定時に遅延評価され、法定祝日のキャッシュには 影響しません。
法定祝日と重なる日は法定祝日名が優先されます。
ルールに該当する日が日曜日でも振替休日は発生しません (振替休日は法令に基づく祝日と単発の追加休日のみが対象)。
- Parameters:
name (str) – 休日名
rule (str) – ルール文字列(”MM/DD” または “MM/DD-MM/DD”)
- Raises:
ValueError – ルール文字列の書式が不正な場合
- add_custom_holidays(name: str, dates: Iterable[str | datetime | date]) None¶
独自の休日をまとめて追加
set_additional_holiday の一括登録版です。同じ名称で複数の日付を 単発の追加休日として登録します。
- Parameters:
name (str) – 休日名
dates (Iterable[str or datetime or date]) – 休日の日付の一覧
- Raises:
ValueError – サポートされていない日付形式が含まれる場合
- clear_custom_holidays() None¶
独自の休日をすべてクリア
単発の追加休日(set_additional_holiday / add_custom_holidays)と 毎年繰り返すカスタム休日ルール(add_custom_holiday_rule)の両方を 削除します。週末の設定(set_weekend)は変更しません。
- count_business_days(start_date: str | datetime | date, end_date: str | datetime | date) int¶
指定期間内(両端を含む)の営業日数を取得
- Parameters:
start_date (str or datetime or date) – 開始日
end_date (str or datetime or date) – 終了日
- Returns:
営業日数
- Return type:
int
- Raises:
ValueError – 開始日が終了日より後の場合
- get_business_date_range(start_date: date, end_date: date) list[date]¶
指定期間内の営業日の一覧を取得
週末とみなす曜日は set_weekend の設定に従います (デフォルトは土曜日・日曜日)。
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
日付のリスト
- Return type:
list[datetime.date]
- get_date_information(date: date) tuple[int, str, int, str | None]¶
指定された日付から週番号、曜日、および祝日の名称を取得
- Parameters:
date (datetime.date) – 日付
- Returns:
週番号(int)(0-4)、曜日(str)、曜日(int)(0-6)、祝日の名称(str)のタプル
- Return type:
tuple
- get_first_business_day(date: date, days: int = 1) date¶
指定された月の営業日を取得(デフォルトは第1営業日)
- Parameters:
date (datetime.date) – 日付
days (int) – 営業日数(デフォルトは1)
- Returns:
営業日
- Return type:
datetime.date
- get_holiday_name(date: str | datetime | date) str | None¶
祝日名を取得
法定祝日(国民の休日・振替休日を含む)、単発の追加休日、 毎年繰り返すカスタム休日ルールの順に判定します (法定祝日名が常に優先されます)。
- Parameters:
date (datetime or date or str) – 日時
- Returns:
祝日名(祝日ではない場合はNone)
- Return type:
str
- get_holidays(date: str) list[tuple[date, str]]¶
祝日の一覧を取得
- Parameters:
date (str) – 年 or 年月 の日時
- Raises:
ValueError – 日時のフォーマットエラー
- Returns:
(日付, 祝日名) のタプルのリスト。
- Return type:
list[tuple[datetime.date, str]]
Note
v0.3.0 でタプルの並びを (祝日名, 日付) から (日付, 祝日名) に変更し、 get_holidays_in_range / get_rest_days_in_range と統一しました。
Example
>>> get_holidays("2023") >>> get_holidays("2023-01") >>> get_holidays("2023/01") >>> get_holidays("202301")
- get_holidays_in_range(start_date: date, end_date: date) list[tuple[date, str]]¶
特定の期間内の祝日一覧を取得
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
(日付, 祝日名) のタプルのリスト。
- Return type:
list[tuple[datetime.date, str]]
- get_last_business_day(date: date) date¶
指定された月の最終営業日を取得
- Parameters:
date (datetime.date) – 日付
- Returns:
最終営業日
- Return type:
datetime.date
- static get_last_day(date: date) date¶
指定された月の最終日を取得
- Parameters:
date (datetime.date) – 月を指定した日付
- Returns:
最終日の日付オブジェクト
- Return type:
datetime.date
- get_rest_days_in_range(start_date: date, end_date: date) list[tuple[date, str]]¶
特定の期間内の休みの一覧を取得(土日含む)
「土曜日」「日曜日」のラベル付けは暦に基づいており、 set_weekend による営業日設定の影響を受けません。
- Parameters:
start_date (datetime.date) – 開始日
end_date (datetime.date) – 終了日
- Returns:
(日付, 名称) のタプルのリスト
- Return type:
list[tuple[datetime.date, str]]
- is_additional_holiday(date: date) bool¶
追加休日チェック
単発の追加休日(set_additional_holiday / add_custom_holidays)と、 毎年繰り返すカスタム休日ルール(add_custom_holiday_rule)の いずれかに該当するかを判定します。
- Parameters:
date (datetime.date) – 日付
- Returns:
追加休日の場合はTrue、そうでない場合はFalse
- Return type:
bool
- is_autumn_equinox(date: date) bool¶
秋分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
秋分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_business_day(date: str | datetime | date) bool¶
営業日(週末でも祝日・独自休日でもない日)の判定
週末とみなす曜日は set_weekend で変更できます (デフォルトは土曜日・日曜日)。
- Parameters:
date (str or datetime or date) – 判定する日付
- Returns:
営業日であればTrue、そうでなければFalse
- Return type:
bool
- is_childrens_day(date: date) bool¶
こどもの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
こどもの日であればTrue、そうでなければFalse
- Return type:
bool
- is_coming_of_age_day(date: date) bool¶
成人の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
成人の日であればTrue、そうでなければFalse
- Return type:
bool
- is_constitution_day(date: date) bool¶
憲法記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
憲法記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_culture_day(date: date) bool¶
文化の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
文化の日であればTrue、そうでなければFalse
- Return type:
bool
- is_emperors_birthday(date: date) bool¶
天皇誕生日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
天皇誕生日であればTrue、そうでなければFalse
- Return type:
bool
- is_foundation_day(date: date) bool¶
建国記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
建国記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_greenery_day(date: date) bool¶
みどりの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
みどりの日であればTrue、そうでなければFalse
- Return type:
bool
- is_health_and_sports_day(date: date) bool¶
スポーツの日(2019年以前は体育の日)の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
スポーツの日であればTrue、そうでなければFalse
- Return type:
bool
- is_holiday(date: str | datetime | date) bool¶
祝日(振替休日・国民の休日・追加休日を含む)の判定
- Parameters:
date (str or datetime or date) – 判定する日付
- Returns:
祝日であればTrue、そうでなければFalse
- Return type:
bool
- is_labour_thanksgiving_day(date: date) bool¶
勤労感謝の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
勤労感謝であればTrue、そうでなければFalse
- Return type:
bool
- is_marine_day(date: date) bool¶
海の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
海の日であればTrue、そうでなければFalse
- Return type:
bool
- is_mountain_day(date: date) bool¶
山の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
山の日であればTrue、そうでなければFalse
- Return type:
bool
- is_national_holiday(date: date) bool¶
国民の休日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
国民の休日であればTrue、そうでなければFalse
- Return type:
bool
- is_new_year(date: date) bool¶
元日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
元日であればTrue、そうでなければFalse
- Return type:
bool
- is_respect_for_the_aged_day(date: date) bool¶
敬老の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
敬老の日であればTrue、そうでなければFalse
- Return type:
bool
- is_showa_day(date: date) bool¶
昭和の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
昭和の日であればTrue、そうでなければFalse
- Return type:
bool
- is_spring_equinox(date: date) bool¶
春分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
春分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_transfer_holiday(date: date) bool¶
振替休日チェック
法定の振替休日(1973年4月12日の祝日法改正の施行以降)と、 単発の追加休日が日曜日と重なった場合の翌月曜日を振替休日と 判定します。判定は算出済みの休日名が 「(振替休日)」で終わるかどうかに基づくため、 祝日そのもの(例: 2026年5月4日のみどりの日)を誤って 振替休日と判定することはありません。
- Parameters:
date (datetime.date) – 日付
- Returns:
振替休日の場合はTrue、そうでない場合はFalse
- Return type:
bool
- next_business_day(date: str | datetime | date, *, include_start: bool = False) date¶
指定日以降で直近の営業日を取得
- Parameters:
date (str or datetime or date) – 起点の日付
include_start (bool) – Trueの場合、起点が営業日ならその日を返す (デフォルト: False = 翌営業日から探索)
- Returns:
直近の営業日
- Return type:
datetime.date
- previous_business_day(date: str | datetime | date, *, include_start: bool = False) date¶
指定日以前で直近の営業日を取得
- Parameters:
date (str or datetime or date) – 起点の日付
include_start (bool) – Trueの場合、起点が営業日ならその日を返す (デフォルト: False = 前営業日から探索)
- Returns:
直近の営業日
- Return type:
datetime.date
- print_calendar(date: date) None¶
カレンダーを出力
日曜始まりで、日曜日は赤・土曜日は青・祝日は緑で表示します。
- Parameters:
date (datetime.date) – 対象年月
- set_additional_holiday(name: str, date: date) None¶
独自の休日を追加
- Parameters:
name (str) – 休日名
date (datetime.date) – 休日の日付
- set_weekend(saturday: bool = True, sunday: bool = True) None¶
営業日判定で週末(休業日)とみなす曜日を設定
この設定は営業日関連の判定 (is_business_day / get_business_date_range / add_business_days / count_business_days / next_business_day / previous_business_day / get_first_business_day / get_last_business_day)にのみ影響します。
祝日の判定そのもの(is_holiday / get_holiday_name / 振替休日など)や、 get_rest_days_in_range の「土曜日」「日曜日」のラベル付けには 影響しません(これらは法令・暦に基づいたままです)。
両方を False にすると、祝日・独自休日を除くすべての曜日が 営業日として扱われます。
- Parameters:
saturday (bool) – 土曜日を週末として扱う場合はTrue(デフォルト: True)
sunday (bool) – 日曜日を週末として扱う場合はTrue(デフォルト: True)
- static to_date(date: str | datetime | date) date¶
日付文字列をdateオブジェクトに変換します
- Parameters:
date (str or datetime or date) – 変換する日付文字列。
- Returns:
変換されたdateオブジェクト。
- Return type:
date
- Raises:
ValueError – サポートされていない日付形式の場合に発生します。
- week_day(date: date, week: int, weekday: int) date | None¶
指定された日付の月の「第week weekday曜日」に該当する日付を取得
- Parameters:
date (datetime.date) – 対象の年月を含む日付
week (int) – 週 (1から5)
weekday (int) – 曜日 (1から7, 月曜日を1とする)
- Returns:
該当する日付。 week・weekdayが範囲外の場合や、その月に第week週の 該当曜日が存在しない場合はNone
- Return type:
datetime.date or None
- class flaretool.holiday.JapaneseHolidaysOnline¶
Bases:
JapaneseHolidays日本の祝日を管理するクラス(オンライン版)
コンストラクタで祝日データをAPIから取得します。 サポート範囲外の日付はオフライン版のロジックにフォールバックします (その際、インスタンスごとに一度だけ警告を出します)。
- holidays: HolidaysResponseModel¶
- is_autumn_equinox(date: date) bool¶
秋分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
秋分の日であればTrue、そうでなければFalse
- Return type:
bool
- is_childrens_day(date: date) bool¶
こどもの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
こどもの日であればTrue、そうでなければFalse
- Return type:
bool
- is_coming_of_age_day(date: date) bool¶
成人の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
成人の日であればTrue、そうでなければFalse
- Return type:
bool
- is_constitution_day(date: date) bool¶
憲法記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
憲法記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_culture_day(date: date) bool¶
文化の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
文化の日であればTrue、そうでなければFalse
- Return type:
bool
- is_emperors_birthday(date: date) bool¶
天皇誕生日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
天皇誕生日であればTrue、そうでなければFalse
- Return type:
bool
- is_foundation_day(date: date) bool¶
建国記念日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
建国記念日であればTrue、そうでなければFalse
- Return type:
bool
- is_greenery_day(date: date) bool¶
みどりの日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
みどりの日であればTrue、そうでなければFalse
- Return type:
bool
- is_health_and_sports_day(date: date) bool¶
スポーツの日(2019年以前は体育の日)の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
スポーツの日であればTrue、そうでなければFalse
- Return type:
bool
- is_labour_thanksgiving_day(date: date) bool¶
勤労感謝の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
勤労感謝であればTrue、そうでなければFalse
- Return type:
bool
- is_marine_day(date: date) bool¶
海の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
海の日であればTrue、そうでなければFalse
- Return type:
bool
- is_mountain_day(date: date) bool¶
山の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
山の日であればTrue、そうでなければFalse
- Return type:
bool
- is_new_year(date: date) bool¶
元日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
元日であればTrue、そうでなければFalse
- Return type:
bool
- is_respect_for_the_aged_day(date: date) bool¶
敬老の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
敬老の日であればTrue、そうでなければFalse
- Return type:
bool
- is_showa_day(date: date) bool¶
昭和の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
昭和の日であればTrue、そうでなければFalse
- Return type:
bool
- is_spring_equinox(date: date) bool¶
春分の日の判定
- Parameters:
date (datetime.date) – 判定する日付
- Returns:
春分の日であればTrue、そうでなければFalse
- Return type:
bool
- show_info() None¶
祝日の対応情報を表示
- version: str¶