Simple operations with working days for Laravel.
msbytes/laravel-workdays is a Laravel package for simple operations with working days for laravel..
It currently has 1 GitHub stars and 57 downloads on Packagist (latest version 4.0.3).
Install it with composer require msbytes/laravel-workdays.
Discover more Laravel packages by msbytes
or browse all Laravel packages to compare alternatives.
Last updated
Laravel | Workdays :---------|:---------- 4.x.x | 4.x.x
To install through composer, simply put the following in your composer.json file:
{
"require-dev": {
"msbytes/laravel-workdays": "^4.0"
}
}
And then run composer install from the terminal.
Above installation can also be simplified by using the following command:
composer require --dev "msbytes/laravel-workdays=^4.0"
To use this package you need to prepare HolidayProvider for your country.
It must implement Msbytes\LaravelWorkdays\Contracts\HolidayProvider.
There is PlHolidayProvider for Poland as an example.
Add workdays service provider to app/config/app.php.
return array(
...
'providers' => array(
...
'Msbytes\LaravelWorkdays\LaravelWorkdaysServiceProvider'
),
...
);
Easiest way is to just use provided Workdays facade.
Before making any operation or if you want to change country you need to set holiday provider for service.
$provider = new YourHolidayProvider();
Workdays::setHolidayProvider($provider);
Start using it (these examples are using holidays provider for Poland)
$check = Workdays::isWorkingDay('2018-03-27'); // true
$deliveryDate = Workdays::addWorkingDays('2018-03-27', 4); // 2018-04-03
$pastOrders = Workdays::substractWorkingDays('2018-03-27', 7); // 2018-03-16