springy-framework / business-days-calculator
PHP class for calculate business days for given date
Requires
- php: >=7.3
Requires (Dev)
- phpmd/phpmd: @stable
- phpstan/phpstan: ^0.12.5
- phpunit/phpunit: ^9.4
- squizlabs/php_codesniffer: ^3.5
README
This class can get the business days after today or a given date.
It can take as parameter a given date that will be taken as a reference.
The class can return one or more dates of the next business days after the given date considering the weekends and the regular holiday dates like Christmas, Easter, Corpus Christi, etc..
Optionally the class can also consider business days of specific countries like Brazil.
Requirements
- PHP 7.3+
Instalation
To get the latest stable version of this component use:
"require": { "springy-framework/business-days-calculator": "*" }
in your composer.json file.
Usage
I suppose that the following example is all you need:
<?php require 'vendor/autoload.php'; // If you're using Composer (recommended) // Using dynamic mode $today = new DateTime(); $bdCalc = new Springy\BusinessDaysCalculator($today); $newDate = $bdCalc->addBrazilianHolidays((int) $today->format('Y')) ->addBrazilianHolidays((int) $today->format('Y') + 1) ->addBusinessDays(20) ->getDate(); var_dump($newDate); if ($bdCalc->isBusinessDay()) { echo "Is a business day\n"; } // Getting nth business date in 'Y-m-d' format string without create an object echo "The 20th business day from now is " . Springy\BusinessDaysCalculator::getBusinessDate(20) . "\n";
Contributing
Please read our contributing document and thank you for doing that.
Code of Conduct
In order to ensure that our community is welcoming to all, please review and abide by the code of conduct.
License
This project is licensed under The MIT License (MIT).