code16 / carbon-business-days
A simple class for business days counting
Installs: 283 686
Dependents: 0
Suggesters: 0
Security: 0
Stars: 53
Watchers: 6
Forks: 3
Open Issues: 0
Requires
- php: ^8.0
- nesbot/carbon: ^2.0|^3.0
Requires (Dev)
- phpunit/phpunit: ^8.0|^9.0|^10.0
This package is auto-updated.
Last update: 2024-11-03 11:14:32 UTC
README
This package aims to count business working days between two Carbon dates.
Usage
$date = new BusinessDays(); // Set holidays (2018-1-1 is a Monday) $date->addHoliday(Carbon::createFromDate(2018, 1, 1)); // Should return 9 $days = $date->daysBetween( Carbon::createFromDate(2018, 1, 1), Carbon::createFromDate(2018, 1, 15) ); // Set a closed period (whole 2nd week) $date->addClosedPeriod( Carbon::createFromDate(2018, 1, 8), Carbon::createFromDate(2018, 1, 12) ); // Should return 5 $days = $date->daysBetween( Carbon::createFromDate(2018, 1, 1), Carbon::createFromDate(2018, 1, 15) );
Default for weekend days are saturdays and sundays, but it can be configured:
$date->setWeekendDays([Carbon::SUNDAY, Carbon::MONDAY]);
You can also add or subtract days from a given date:
$newDate = $date->addDaysTo( Carbon::createFromDate(2018, 5, 14), 10 ); $newDate = $date->subDaysFrom( Carbon::createFromDate(2018, 5, 14), 10 );
Installation
composer require code16/carbon-business-days
License
MIT