treehousetim / bank-holidays
一个简单的、无依赖的PHP银行假日计算器。
1.0.1
2021-12-30 22:01 UTC
Requires
- php: ^7.0
Requires (Dev)
- phpunit/phpunit: ^6
README
美国和加拿大的PHP银行假日日期计算。
安装
composer require treehousetim/bank-holidays
加拿大
加拿大的银行假日很难找到权威信息。我已尽我所能使用当前的信息。如果您找到权威的规则来源(不仅仅是日期列表),请创建一个问题。
加拿大银行假日列表
- 新年
- 家庭日
- 耶稣受难日
- 复活节星期一
- 维多利亚日
- 加拿大日
- 公民假日
- 劳动节
- 感恩节
- 纪念日
- 圣诞节
- 节礼日
美国
并非所有假日都在美国作为银行假日。如果假日落在周六,则不放假。如果假日落在周日,则放假在星期一。
美国银行假日列表
- 新年
- 马丁·路德·金纪念日
- 总统日
- 阵亡将士纪念日
- 独立日
- 独立日
- 劳动节
- 哥伦布日
- 退伍军人日
- 感恩节
- 圣诞节
获取详细信息
both usa
and canada
类实现了以下抽象方法。
abstract public function getAsArray() : array; abstract public function getObservedAsArray() : array;
这些方法返回的数组保证(并由单元测试强制执行)包含以下数组键 country
、observed
、date
、desc
getAsArray()
这将返回一个包含所有假日日期详细信息的数组,无论该国家的银行是否放假。
getObservedAsArray()
这将返回提供给库的年份的所有观察到的银行假日。
get[HolidayName]Detail()
这将返回上述描述的单个假日详细信息数组。
<?php $year = 2021; $bankHolidayCalc = new \treehousetim\bankHolidays\usa( $year ); $info = $bankHolidayCalc->getChristmasDayDetail(); if( $info['observed'] ) { echo 'In ' . $year . ', Christmas Day is not a bank holiday'; } else { echo 'In ' . $year . ', Christmas Day is a bank holiday and is observed on ' . $info['date']; } ?>
对于 $year = 2021;
的输出
在2021年,圣诞节不是银行假日
对于 $year = 2022;
的输出
在2022年,圣诞节是银行假日,并且放假日期是2022年12月26日
一般使用
<?php $bankHolidayCA = new \treehousetim\bankHolidays\canada( 2019 ); $date = $bankHolidayCA->familyDay(); echo $date; $bankHolidayUS = new \treehousetim\bankHolidays\usa( 2019 ); $date = $bankHolidayUS->christmasDay(); echo $date; ?>
测试
如果您已克隆此存储库,则可以运行测试。没有依赖项,但PHPUnit已通过composer安装。
composer install
composer test