Skip to content

spurwork/us-holidays

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Carbon Support for US Holidays

This extends Carbon and adds support for several US holidays.

Supported Holidays

  • New Years Day
  • Martin Luther King Jr. Day
  • Groundhog Day
  • Valentine's Day
  • Presidents Day
  • Daylight Saving (Start)
  • St. Patrick's Day
  • April Fool's Day
  • Mother's Day
  • Armed Forces Day
  • Memorial Day
  • Flag Day
  • Father's Day
  • Independence Day
  • Labor Day
  • Patriot Day
  • Columbus Day
  • Halloween
  • Veterans Day
  • Thanksgiving
  • Daylight Saving (End)
  • Pearl Harbor Remembrance Day
  • Christmas Eve
  • Christmas Day
  • New Years Eve

Requirements

Usage

With Composer

$ composer require geoffreyrose/us-holidays
<?php
require 'vendor/autoload.php';

use USHolidays\Carbon;

Without Composer

<?php
require 'path/to/nesbot/Carbon.php';
require 'path/to/geoffreyrose/Carbon.php';

use USHolidays\Carbon;

Check if date is holiday. Returns boolean

$carbon = new Carbon();
$carbon = Carbon::create(2018, 12, 25);
$carbon->isHoliday(); // bool (true)

Get name if date is holiday. Returns string or false

$carbon = new Carbon();
$carbon = Carbon::create(2018, 12, 31);
$carbon->getHolidayName(); // New Year's Eve

Get date for a specific holiday. Returns string

$carbon = new Carbon();
$carbon = Carbon::create(2018, 1, 1);

$carbon->getNewYearsDayHoliday();                   // 2018-01-01 00:00:00
$carbon->getMLKDayHoliday();                        // 2018-01-15 00:00:00
$carbon->getGroundhogDayHoliday();                  // 2018-02-02 00:00:00
$carbon->getValentinesDayHoliday();                 // 2018-02-14 00:00:00
$carbon->getPresidentsDayHoliday();                 // 2018-02-19 00:00:00
$carbon->getDaylightSavingStartHoliday();           // 2018-03-11 00:00:00
$carbon->getStPatricksDayHoliday();                 // 2018-03-17 00:00:00
$carbon->getAprilFoolsDayHoliday();                 // 2018-04-01 00:00:00
$carbon->getMothersDayHoliday();                    // 2018-05-13 00:00:00
$carbon->getArmedForcesDayHoliday();                // 2018-05-19 00:00:00
$carbon->getMemorialDayHoliday();                   // 2018-05-28 00:00:00
$carbon->getFlagsDayHoliday();                      // 2018-06-14 00:00:00
$carbon->getFathersDayHoliday();                    // 2018-06-17 00:00:00
$carbon->getIndependenceDayHoliday();               // 2018-07-04 00:00:00
$carbon->getLaborDayHoliday();                      // 2018-09-03 00:00:00
$carbon->getPatriotsDayHoliday();                   // 2018-09-11 00:00:00
$carbon->getColumbusDayHoliday();                   // 2018-10-08 00:00:00
$carbon->getHalloweenDayHoliday();                  // 2018-10-31 00:00:00
$carbon->getDaylightSavingEndHoliday();             // 2018-11-04 00:00:00
$carbon->getVeteransDayHoliday();                   // 2018-11-11 00:00:00
$carbon->getThanksgivingHoliday();                  // 2018-11-22 00:00:00
$carbon->getPearlHarborRemembranceHoliday();        // 2018-12-07 00:00:00
$carbon->getChristmasEveHoliday();                  // 2018-12-24 00:00:00
$carbon->getChristmasDayHoliday();                  // 2018-12-25 00:00:00
$carbon->getNewYearsEveHoliday();                   // 2018-12-31 00:00:00

Check if date is a Bank Holiday and the day it is observed on. I.E. if the holiday falls on Saturday, the holiday is observed the previous day (Friday). Or if a holiday falls on Sunday, the holiday is observed the next day (Monday). Note: Bank holidays are Monday - Friday Only. So Holidays that are always on weekends are not consider bank holidays. Returns boolean

$carbon = new Carbon();
$carbon = Carbon::create(2018, 03, 17); // St Patrick's Day
$carbon->isBankHoliday(); // bool (false)

$carbon = new Carbon();
$carbon = Carbon::create(2018, 12, 25); // Tuesday
$carbon->isBankHoliday(); // bool (true)

$carbon = new Carbon();
$carbon = Carbon::create(2016, 12, 25); // Sunday
$carbon->isBankHoliday(); // bool (false)

$carbon = new Carbon();
$carbon = Carbon::create(2016, 12, 26); // Monday
$carbon->isBankHoliday(); // bool (true)

Additional Examples

$carbon = new Carbon();
$carbon = Carbon::create(2018, 01, 01);
$carbon->getIndependenceDayHoliday()->getHolidayName(); // Independence Day

$carbon = new Carbon();
$carbon = Carbon::create(2016, 12, 25); // Sunday
$carbon->getHolidayName(); // Christmas Day

$carbon = new Carbon();
$carbon = Carbon::create(2016, 12, 26); // Monday
$carbon->getHolidayName(); // Christmas Day (Observed)

About

US Holidays Wrapper for the Carbon DateTime Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%