citco / carbon
This is a wrapper for nesbot/carbon which also calculates which days are British bank holidays (England & Wales only).
Installs: 269 132
Dependents: 4
Suggesters: 0
Security: 0
Stars: 15
Watchers: 5
Forks: 1
Open Issues: 0
Requires
- php: ^8.1
- nesbot/carbon: 3.*
README
This is a wrapper for Carbon which also calculates which days are British bank holidays (England & Wales only).
Installation
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";
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)
<?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";
Sample code
Here are some samples on using this class:
// 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);
Issues
Bug reports and feature requests can be submitted on the Github Issue Tracker.
Requirements
PHP 8.1 or above (For older PHP versions, please use the version 1.x or 2.x of this package)
License
Bank Holidays is licensed under the MIT License - see the LICENSE file for details