msbytes/laravel-workdays

Simple operations with working days for Laravel.

4.0.3 2018-03-27 06:17 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:20:10 UTC


README

Version Compatibility

Installation

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.

Quick Installation

Above installation can also be simplified by using the following command:

composer require --dev "msbytes/laravel-workdays=^4.0"

Usage

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

License

MIT License