treehousetim/bank-holidays

一个简单的、无依赖的PHP银行假日计算器。

1.0.1 2021-12-30 22:01 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:04 UTC


README

Unit Tests

美国和加拿大的PHP银行假日日期计算。

安装

composer require treehousetim/bank-holidays

加拿大

加拿大的银行假日很难找到权威信息。我已尽我所能使用当前的信息。如果您找到权威的规则来源(不仅仅是日期列表),请创建一个问题。

加拿大银行假日列表

  • 新年
  • 家庭日
  • 耶稣受难日
  • 复活节星期一
  • 维多利亚日
  • 加拿大日
  • 公民假日
  • 劳动节
  • 感恩节
  • 纪念日
  • 圣诞节
  • 节礼日

美国

并非所有假日都在美国作为银行假日。如果假日落在周六,则不放假。如果假日落在周日,则放假在星期一。

美国银行假日列表

  • 新年
  • 马丁·路德·金纪念日
  • 总统日
  • 阵亡将士纪念日
  • 独立日
  • 独立日
  • 劳动节
  • 哥伦布日
  • 退伍军人日
  • 感恩节
  • 圣诞节

获取详细信息

both usa and canada 类实现了以下抽象方法。

abstract public function getAsArray() : array;
abstract public function getObservedAsArray() : array;

这些方法返回的数组保证(并由单元测试强制执行)包含以下数组键 countryobserveddatedesc

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安装。

  1. composer install
  2. composer test