アルゴリズム
カレンダー
祝日
More than 3 years have passed since last update.

日本の祝日判定を行うためのTips

現行の国民の祝日(2003年以降)は、大きく分けて3種類あって、
1:毎年同じ日付のもの
2:何月の第○☓曜日(ハッピーマンデー型)
3:春分の日、秋分の日

1の判定は自明なので割愛。

2は日付がdayが年月日の日とすると、(day-1)/7 +1で何回目の曜日かわかる。
曜日は各言語の標準(定番)ライブラリでわかるはず。

3は、前年の官庁発表で正式決定なので実は2年後以降は決まっていない。
でも、春分日と秋分日ではあるはずなので
天文台予測が予測している春分日・秋分日が国立天文台のページ2030年まである。
これを使えば2030年までの春分の日と秋分の日の判定が可能。

さらに、
祝日でない当日から1日ずつ前の日を見ていき、
前日が国民の祝日で、かつ、
その1日以上の連続する国民の祝日の日曜日が含まれていれば
振替休日となる。

さらにさらに、
当日が国民の祝日でなく、前日と翌日がともに国民の祝日なら
「国民の休日」となる。