Country | Code |
---|---|
🇨🇳 China | CN |
🇩🇪 Germany | DE |
🇫🇷 France | FR |
🇬🇧 United Kingdom | GB |
🇭🇰 Hong Kong | HK |
🇮🇩 Indonesia | ID |
🇮🇹 Italy | IT |
🇯🇵 Japan | JP |
🇰🇷 Korea | KR |
🇱🇺 Luxembourg | LU |
🇸🇬 Singapore | SG |
🇹🇼 Taiwan | TW |
🇺🇸 United States of America | US |
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
To avoid shipping unused country holidays, you can run the Sunaoka\\Holidays\\Task\\Composer::removeHolidays
task and specify the services you want to keep in composer.json
:
{
"require": {
"sunaoka/holidays": "^1.1"
},
"scripts": {
"pre-autoload-dump": [
"Sunaoka\\Holidays\\Task\\Composer::removeHolidays"
]
},
"extra": {
"sunaoka/holidays": [
"jp",
"us"
]
}
}
In this example, when running composer update
or composer install
, all holidays except Japan (jp
) and United States of America (us
) will be removed.