andrejsstepanovs/business-days-calculator

Business day calculation

1.0.0 2015-01-06 10:52 UTC

README

Business Days Calculator

Build Status Scrutinizer Quality ScoreCoverage Status Latest Stable Version License

Install

  • If you're using Composer to manage dependencies, you can use
composer require andrejsstepanovs/business-days-calculator

or add to your composer.json file:

"require": {
    "andrejsstepanovs/business-days-calculator": "1.*",
}

Example

use \BusinessDays\Calculator;

$holidays = [
    new \DateTime('2000-12-31'),
    new \DateTime('2001-01-01')
];

$freeDays = [
    new \DateTime('2000-12-28')
];

$freeWeekDays = [
    Calculator::SATURDAY,
    Calculator::SUNDAY
];

$calculator = new Calculator();
$calculator->setStartDate(new \DateTime('2000-12-27'));
$calculator->setFreeWeekDays($freeWeekDays); // repeat every week
$calculator->setHolidays($holidays);         // repeat every year
$calculator->setFreeDays($freeDays);         // don't repeat

$calculator->addBusinessDays(3);             // add X working days

$result = $calculator->getDate();            // \DateTime
echo $result->format('Y-m-d');               // 2001-01-03