Carbon with support of UK Bank Holidays
This is a wrapper for Carbon which also calculates which days are British bank holidays (England & Wales only)., (*1)
, (*2)
Installation
, (*3)
With Composer
$ composer require citco/carbon
{
"require": {
"citco/carbon": "*"
}
}
<?php
require 'vendor/autoload.php';
use Citco\Carbon;
echo "Today is ", (new Carbon)->isBankHoliday() ?: "not bank holiday";
, (*4)
Without Composer
Why are you not using composer? Download Carbon.php from the repo and save the file into your project path somewhere. (You also need to download nesbot/carbon), (*5)
<?php
require 'path/to/nesbot/Carbon.php';
require 'path/to/citco/Carbon.php';
use Citco\Carbon;
echo "Today is ", (new Carbon)->isBankHoliday() ?: "not bank holiday";
, (*6)
Sample code
Here are some samples on using this class:, (*7)
// Creates a new instance of the class
$c = new Carbon(); // Today's date
$c = new Carbon('2012-05-21'); // Date as string
$c = Carbon::parse('First day of May 2011');
// Checks if the given date is bank holiday
$boolean = $c->isBankHoliday('2016-05-21');
$boolean = $c->isBankHoliday(Carbon::parse('First day of 2000'));
// Returns array of holidays for the given year
$c->getBankHolidays(2015);
$c->getBankHolidays(array(2010, 2012));
$c->getBankHolidays(Carbon::now());
// Returns New Year date of the given year
$c->getNewYearBankHoliday(2012); // 2012-01-02
// Without any parameter will return date for the init year
$c->getNewYearBankHoliday();
$c->getGoodFridayBankHoliday();
$c->getEasterMondayBankHoliday();
$c->getEarlyMayBankHoliday();
$c->getSpringBankHoliday();
$c->getSummerBankHoliday();
$c->getBoxingDayBankHoliday();
$c->getChristmasBankHoliday();
// Returns next/previous bank holiday
$c->nextBankHoliday();
$c->previousBankHoliday();
$c->nextBankHoliday(Carbon::parse('Next year May 1st'));
$c->previousBankHoliday(Carbon::parse('Next year May 1st'));
// Returns N next/previous bank holidays
$n = 20;
$c->nextBankHolidays($n);
$c->previousBankHolidays($n);
$c->nextBankHolidays($n, Carbon::parse('Next year May 1st'));
$c->previousBankHolidays($n, Carbon::parse('Next year May 1st'));
// Returns the list of bank holidays between two dates
$start = Carbon::now();
$end = Carbon::now()->subYear(1);
$holidays = $start->bankHolidaysSince($end);
, (*8)
Issues
Bug reports and feature requests can be submitted on the Github Issue Tracker., (*9)
, (*10)
Requirements
PHP 8.1 or above (For older PHP versions, please use the version 1.x or 2.x of this package), (*11)
, (*12)
License
Bank Holidays is licensed under the MIT License - see the LICENSE file for details, (*13)