回答編集履歴

1 祝日条件を追記

tacsheaven

tacsheaven score 11355

2019/12/03 18:24  投稿

いちいち計算するより、すなおに[内閣府の出している CSV データ](https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv)を読み取ってテーブルに保存しといた方がよいかと思います。
※2年以上未来のカレンダー出したいとかなら別ですが
※2年以上未来のカレンダー出したいとかなら別ですが
---
真面目に処理する場合、ある日が「祝日」となる条件は、
1. 法律によって規定されている「祝日」である
 月日が固定されているもの、第○週の月曜日と規定されているもの、官報による告示で規定されるもの(春分の日・秋分の日)
2. その日が平日である場合、その日より「前」に祝日が連続し、その中に「日曜日である祝日」が含まれる(いわゆる振替休日)
3. その日の前後が祝日であり、かつその日が 1, 2 で規定された祝日ではない
ですから、これを各日ごとに処理してフラグ立てるなりしてください。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る