sunaoka / holidays
假日计算库
v1.5.0
2024-08-27 09:18 UTC
Requires
- php: ^5.5 || ^7.0 || ^8.0
Requires (Dev)
- composer/composer: ^1.0 || ^2.0
- mockery/mockery: ^0.9 || ^1.0
- nesbot/carbon: ^1.0 || ^2.0 || ^3.0
- phpunit/phpunit: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
- roave/security-advisories: dev-latest
- dev-develop
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.33
- v1.0.32
- v1.0.31
- v1.0.30
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- 1.0.6
- 1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-create-pull-request/patch
- dev-main
This package is auto-updated.
Last update: 2024-09-20 01:16:51 UTC
README
支持国家
安装
composer require sunaoka/holidays
基本用法
查找某个日期是否为假日
use Sunaoka\Holidays\Holidays; // Is January 1, 2021 a holiday in the United States (US)? $holidays = new Holidays('US'); $holidays->isHoliday('2021-01-01'); // => true
返回假日列表
use Sunaoka\Holidays\Holidays; // Returns United States (US) Holidays in 2021 $holidays = new Holidays('US'); $holidays->getHolidays(2021); // => // array(36) { // [0] => // class Sunaoka\Holidays\Holiday#1 (4) { // protected $name => // string(14) "New Year's Day" // public $date => // string(26) "2021-01-01 00:00:00.000000" // public $timezone_type => // int(3) // public $timezone => // string(3) "UTC" // } // [1] => // class Sunaoka\Holidays\Holiday#2 (4) { // protected $name => // string(26) "Martin Luther King Jr. Day" // public $date => // string(26) "2021-01-18 00:00:00.000000" // public $timezone_type => // int(3) // public $timezone => // string(3) "UTC" // } // : // : // : // [35] => // class Sunaoka\Holidays\Holiday#36 (4) { // protected $name => // string(14) "New Year's Eve" // public $date => // string(26) "2021-12-31 00:00:00.000000" // public $timezone_type => // int(3) // public $timezone => // string(3) "UTC" // }
返回给定日期范围内的假日
use Sunaoka\Holidays\Holidays; // Return United States (US) holidays from 2021-01-01 to 2021-01-07 $holidays = new Holidays('US'); $holidays->between(date('2021-01-01'), date('2021-01-07')); // array(1) { // [0] => // class Sunaoka\Holidays\Holiday#1 (4) { // protected $name => // string(14) "New Year's Day" // public $date => // string(26) "2021-01-01 00:00:00.000000" // public $timezone_type => // int(3) // public $timezone => // string(3) "UTC" // } // }
添加自定义假日
use Sunaoka\Holidays\Holidays; // Add 2021-05-05 as my birthday $holidays = new Holidays('US'); $holidays->addHoliday(new Holiday('2021-05-05', 'My Birthday 🎉')); $holidays->isHoliday('2021-05-05'); // => true
更新假日数据到最新版本
php ./vendor/bin/holiday-update
删除未使用的国家假日
为了避免发送未使用的国家假日,您可以运行 Sunaoka\\Holidays\\Task\\Composer::removeHolidays
任务,并在 composer.json
中指定您想要保留的服务
{ "require": { "sunaoka/holidays": "^1.1" }, "scripts": { "pre-autoload-dump": [ "Sunaoka\\Holidays\\Task\\Composer::removeHolidays" ] }, "extra": { "sunaoka/holidays": [ "jp", "us" ] } }
在本例中,当运行 composer update
或 composer install
时,除了日本(jp
)和美国(us
)之外的所有假日将被删除。