祝日計算をするJavaクラスを作成した。
・春分・秋分の日は、『海上保安庁水路部 暦計算研究会編 新こよみ便利帳』による計算式を使用
・国民の休日、振替休日も計算
・祝日の新制度の変更、保守の為に敢えて1ソースファイルの構成としている。
ただし、2007年以降のカレンダーしか有効でない。
http://sourceforge.jp/projects/jholiday/
任意の祝日を指定して情報を取得するために、インナークラスとして
public abstract class HolidayBundle を提供している。
この抽象クラスの具象クラスとして祝日ごとのインナークラスが用意されており、
祝日名、祝日計算は個々の祝日HolidayBundle で実装で提供されてる。
→祝日毎のHolidayBundleインスタンスを取得してメソッドを利用できると
いうこと!
振替休日計算は、HolidayBundle 抽象クラスで実装するが、特定の祝日は具象クラスで
オーバーライドで実装している。
→オーバーライドで制度の変更、特殊な変更を書き換える。
2009年の祝日配列
Holiday holday = new Holiday(2009);
Date[] ary = holday.listHoliDays();
2009年の春分の日
Holiday.HolidayBundle h = Holiday.HolidayType.SPRING_EQUINOX_DAY.getBundle(2009);
System.out.println(h.getMonth()+"月 "+h.getDay()+"日"
+"("+Holiday.WEEKDAYS_JA[h.getWeekDay()-1]+")"
+" "+h.getDescription());