サンプル・プログラムの解説:振替休日 |
|
|
0252: * 振替休日かどうか調べる |
|
|
日曜日と祝日が重なった場合、月曜日が祝日になる。これが振替休日である。1973 年 4 月 12 日からはじまった。 ところがハッピーマンデー法が制定されてから以降は、日曜日、月曜日が連続して祝日になるケースが発生する。そこで、2007 年 1 月以降は、 祝日が日曜にあたるときは、その日後において、その日に最も近い「国民の祝日」でない日を休日とすることになった。前述の場合は火曜日が祝日になる。 とくに 2009 年は、5 月 3 日の日曜日が憲法記念日、月曜日のみどりの日、火曜日のこどもの日と、祝日が 3 日連続することになった。この場合は水曜日が振替休日となる。 ユーザー関数 isTransferHoliday は、与えられた西暦年月日が振替休日かどうか調べるものである。 前日が祝日である場合は、for ループを用い、日曜日まで祝日が続いているかどうか遡ってチェックするようにしている。連続していれば、その日は振替休日である。 ここで while ではなく for ループを用いたのは、引数や他の祝日判定の異常で無限ループに陥ることがないようにするための配慮である。 |
サンプル・プログラムの解説:国民の休日 |
|
|
0280: /** |
|
|
固定祝日、移動祝日1、移動祝日2のいずれかで挟まれた 1 日は「国民の休日」となる。2003 年以降に有効になる。
ユーザー関数 isNationalHoliday は、与えられた西暦年月日が国民の休日かどうかを調べる。 その翌日と前日が、固定祝日、移動祝日1、移動祝日2のいずれかでないかどうかを調べているだけである。 |
サンプル・プログラムの解説:祝日を求める |
|
|
0300: /** |
|
|
ユーザー関数 getHoliday は、与えられた西暦年月日が祝日であれば、その名称を返す。 固定祝日、移動祝日1、移動祝日2、振替休日、国民の休日を順々に調べている。 ユーザー関数 isHoliday は、与えられた西暦年月日が祝日かどうかを調べるものである。 以上の関数を利用し、入力された西暦年から以降3 年分の祝日一覧を表示するのがサンプル・プログラムである。 |
祝日と祭日 |
|
|
Wikipedia によれば、「祭日」とは「宗教儀礼上重要な祭祀を行う日のこと」とされている。 戦後、GHQ の占領下において、神道に基づく儀礼は一切廃止されたため、「祭日」は無くなった。そして、国民が祝うべき「祝日」に切り替わったのである。 ところが実際は、新憲法が制定された 1947 年(昭和 22 年)を過ぎても戦前の祝日法が有効であり、ようやく 1948 年(昭和 23 年)になって新しい「国民の祝日に関する法律」(祝日法)が定められた。 「『国民の祝日』の由来がわかる小事典」(所功/PHP研究所/2003 年 08 月)は、祝日を
|
|
参考書籍 |
|
|
|
参考サイト |
|
|
|
|
|
|
|
|
2009年06月13日 作成
2009年06月23日 更新
Copyright by studio pahoo, (C)2009
(※)本ページはリンクフリーですが、複製・転載時にはご一報ください。 ★本ページへのご意見・ご質問・お便りは、ここをクリックしてください。 |