n11t / holidays
1.1.0
2019-03-05 08:46 UTC
Requires
- n11t/abstract-collection: ^1.1
Requires (Dev)
- phpunit/phpunit: >=6.5 <7.0.0
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-09-06 09:58:22 UTC
README
节日
面向对象的服务,用于计算给定日期之间的节假日,或检查给定日期是否为节假日。可以通过自己的提供者进行扩展。
安装
通过 Composer 安装(推荐)
composer require n11t/holidays
使用
<?php
require_once __DIR__ . '/vendor/autoload.php';
$calculator = new \N11t\Holidays\Country\Germany();
// Check if date is holiday
$calculator->isHoliday(new \DateTime('2018-12-24')); // True
// Get Holidays in Range
$calculator->between(new \DateTime('2018-03-26'), new \DateTime('2018-04-02')); // 2018-03-30, 2018-04-02
// Extend calculation by own providers
$calculator->isHoliday(new \DateTime('2018-03-01')); // False
$calculator->addProvider(new FirstOfMarchProvider());
$calculator->isHoliday(new \DateTime('2018-03-01')); // True
class FirstOfMarchProvider implements \N11t\Holidays\Calculator\Provider\HolidayProvider {
public function getHolidays(int $year): \N11t\Holidays\Entity\HolidayCollection
{
$holidays = [
new \N11t\Holidays\Entity\Holiday('2018-03-01', 'Funny Holiday')
];
return new \N11t\Holidays\Entity\HolidayCollection(...$holidays);
}
}
提示:始终使用 \N11t\Holidays\HolidayCalculator 接口作为类型提示。
支持的国家/地区
目前支持德国及其州。欢迎贡献力量。