Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。

祝祭日対応日付ライブラリ

カレンダー関連のソフトを作る場合、祭日の処理がやっかいです。文化の日のように日付が固定されている祭日は簡単に判断できますが、ややこしいのが いくつかあります。 まずは振替休日。次に春分・秋分の日。そして最近導入された成人の日や体育の日のように移動する祭日(ローミング祭日)としましょうか)です。
普通に画面にカレンダーを表示したい(祝祭日はやっぱ赤にしたいなぁという場合はあきらめもつきますが、業務アプリを作っていて、どうしても祝祭日の処理が必要になる時があります。
例えば、銀行振込処理をするとき、振込指定日を指定します。

「毎月10日で、10日が休みだったら次の営業日」

というような処理をしなければならない時には、祝祭日判定が必須になります。

祝祭日対応日付ライブラリでは、その日が祝祭日であるかどうかを判定できます。また、祝祭日の場合は、なんの祝祭日なのかを文字列で得ることができます。祝祭日の種類は、固定祝祭日・春分秋分・ローミング祭日全てに対応しています。
このライブラリを使えば、祝祭日処理はおてのものです。 サンプルとしてExcelで作った万年カレンダーをつけました。

モジュールの関数

Saijitu関数

Function Saijitu(theDate, Optional doyou As Integer = 0) As String

日付を渡すと祝祭日名を返します。

引数

theDate 調べる日付
doyou  土曜日の扱い方 0=祝祭日としない 1=第1を祝祭日とする 2=すべて祝祭日とする 3=第2・第4を祝祭日とする

戻り値

戻り値

祝祭日の名称

isSaijitu関数

Function isSaijitu(theDate, Optional doyou As Integer = 0) As Boolean 

祝祭日であるかを判断します。

引数

theDate 調べる日付
doyou  土曜日の扱い方 0=祝祭日としない 1=第1を祝祭日とする 2=すべて祝祭日とする 3=第2・第4を祝祭日とする

戻り値

戻り値

祝祭日の場合はTrueそうでなければFalse

GetActionDate関数

Function GetActionDate(dActionDate As Date) As Date 

実行日を渡すと、実際に実行可能な日を返します。

引数

dActionDate 実行日

戻り値

実行日が休日の場合は翌営業日を返します。
この間数は週休二日が前提です。

OfficeClosed関数

Function OfficeClosed(theDate, Optional doyou As Integer = 0) As Integer

日付を渡すと、その日のステートを返す。

引数

theDate 日付
doyou  土曜日の扱い方 0=祝祭日としない 1=第1を祝祭日とする 2=すべて祝祭日とする 3=第2・第4を祝祭日とする

戻り値

日付のステート
1 平日
2 土曜日
3 日曜日・祝祭日

WeekOfMonth関数

Function WeekOfMonth(theDate) As Integer 

月のうち第何週かを求める

引数

theDate 日付

戻り値

月のうち第何週かを数値で返す。

ShunbunDate関数

Function ShunbunDate(iYear As Integer) As Date

その年の春分の日を得る

引数

iYear 西暦年

戻り値

iYearの年の春分の日を日付型で返す。

ShuubunDate関数

Function ShuubunDate(iYear As Integer) As Date

その年の秋分の日を得る

引数

iYear 西暦年

戻り値

iYearの年の秋分の日を日付型で返す。

改版履歴

  • 昭和の日と海の日に対応しました。 
  • 変に再帰呼び出しをしていたのをやめて高速化しました。
  • 国民の祝日に関する法律第3条3項「その前日及び翌日が「国民の祝日」である日(「国民の祝日」でない日に限る。)は、休日とする。」に対応しました。

 

トラックバック


URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。
添付サイズ
ダウンロードはこちら18.17 KB