Полгода назад при разработке системы финансового учета поднялся вопрос о идентификации банковский дней. Произошло это в следующем контексте — при выставлении счета отводится некий промежуток времени (в банковских днях) по истечению которого надо трубить тревогу, если счет еще не оплачен.
Вооружившись трудовым кодексо�� решил выяснить какие дни можно считать операционными для банка. Статья 112-я гласит:
На основен этой информации был написан простой класс на PHP который позволяет:
Примеры использования:
Вооружившись трудовым кодексо�� решил выяснить какие дни можно считать операционными для банка. Статья 112-я гласит:
Нерабочие праздничные дни
Нерабочими праздничными днями в Российской Федерации являются:
1, 2, 3, 4 и 5 января — Новогодние каникулы;
7 января — Рождество Христово;
23 февраля — День защитника Отечества;
8 марта — Международный женский день;
1 мая — Праздник Весны и Труда;
9 мая — День Победы;
12 июня — День России;
4 ноября — День народного единства.
При совпадении выходного и нерабочего праздничного дней выходной день переносится на следующий после праздничного рабочий день.
На основен этой информации был написан простой класс на PHP который позволяет:
- подсчитывать кол-во банковских (рабочих) дней за определенный промежуток времени
- высчитывать дату +N банковских дней
- ну и, естейственно, определять каким днем является определенное число.
Примеры использования:
echo BankDay::getEndDate('2008-10-14', 10, 'd.m.Y');
//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.
Скачать исходник
Дабы избежать недопониманий — в данном контексте «банковский» = «операционный» = «рабочий» день
