銀行業務(営業)日に対応

半年前、財務会計システムを開発する際、銀行の日を特定するという疑問が生じました。 これは次の状況で発生しました。請求時に、一定の時間(銀行日数)が割り当てられ、その後、請求書がまだ支払われていない場合にアラームを鳴らす必要があります。



労働法規を準備して、私は銀行にとってどの日が運用可能と見なされるかを見つけることにしました。 第112条には次のように記載されています。



休業日



ロシア連邦の休業日は次のとおりです。

1月1、2、3、4、5日-年末年始。

1月7日-キリストの降誕。

2月23日-祖国の日の擁護者。

3月8日-国際女性の日。

5月1日-春と労働の祝日。

5月9日-戦勝記念日。

6月12日-ロシアの日。

11月4日-国民統一の日。



週末と休業日が一致する場合、週末は休日の次の営業日に転送されます。





この情報に基づいて、次のことを可能にするシンプルなクラスがPHPで作成されました。
  1. 一定期間の銀行業務(営業)日数を数える
  2. 計算日+ N銀行日
  3. さて、そしてもちろん、特定の数字が何曜日であるかを決定します。


使用例:

echo BankDay::getEndDate( '2008-10-14' , 10, 'dmY' );

//28.10.2008

echo BankDay::getEndDate( 'now' , 10);

//1229008080

echo BankDay::getNumDays( '2008-02-25' , '2008-03-15' );

//13

echo BankDay::getNumDays( 'now' , '10 days' );

//7

echo BankDay::isWorkDay( '2009-01-06' );

//false

* This source code was highlighted with Source Code Highlighter .








— «» = «» = «»





echo BankDay::getEndDate( '2008-10-14' , 10, 'dmY' );

//28.10.2008

echo BankDay::getEndDate( 'now' , 10);

//1229008080

echo BankDay::getNumDays( '2008-02-25' , '2008-03-15' );

//13

echo BankDay::getNumDays( 'now' , '10 days' );

//7

echo BankDay::isWorkDay( '2009-01-06' );

//false

* This source code was highlighted with Source Code Highlighter .








— «» = «» = «»





echo BankDay::getEndDate( '2008-10-14' , 10, 'dmY' );

//28.10.2008

echo BankDay::getEndDate( 'now' , 10);

//1229008080

echo BankDay::getNumDays( '2008-02-25' , '2008-03-15' );

//13

echo BankDay::getNumDays( 'now' , '10 days' );

//7

echo BankDay::isWorkDay( '2009-01-06' );

//false

* This source code was highlighted with Source Code Highlighter .








— «» = «» = «»








All Articles