sunaoka / holidays

Holiday calculation library for PHP

Home Page:https://packagist.org/packages/sunaoka/holidays

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Holiday calculation library for PHP

Latest License PHP Test codecov


Supported Countries

Country Code
๐Ÿ‡จ๐Ÿ‡ณ China CN
๐Ÿ‡ฉ๐Ÿ‡ช Germany DE
๐Ÿ‡ซ๐Ÿ‡ท France FR
๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom GB
๐Ÿ‡ญ๐Ÿ‡ฐ Hong Kong HK
๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia ID
๐Ÿ‡ฎ๐Ÿ‡น Italy IT
๐Ÿ‡ฏ๐Ÿ‡ต Japan JP
๐Ÿ‡ฐ๐Ÿ‡ท Korea KR
๐Ÿ‡น๐Ÿ‡ผ Taiwan TW
๐Ÿ‡ธ๐Ÿ‡ฌ Singapore SG
๐Ÿ‡บ๐Ÿ‡ธ United States of America US

Installation

composer require sunaoka/holidays

Basic Usage

Finds whether a date is a holiday

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

Returns a list of holidays

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"
//   }

Returns holidays for a given date range

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"
//   }
// }

Add custom holiday

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

Update holiday data to latest

php ./vendor/bin/holiday-update

About

Holiday calculation library for PHP

https://packagist.org/packages/sunaoka/holidays

License:MIT License


Languages

Language:PHP 100.0%