Skip to content

webtoucher/calendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Calendar

This library helps to calculate date difference considering holidays.

Latest Stable Version Total Downloads Daily Downloads Latest Unstable Version License

Installation

The preferred way to install this extension is through composer.

Either run

$ php composer.phar require webtoucher/calendar "*"

or add

"webtoucher/calendar": "*"

to the require section of your composer.json file.

Usage

Create calendar for your country:

$calendar = new Calendar(new Schedule('ru'));

Also you can use your external rules. Just create directory with your rules - e.x. 2016.json or default.json. Default rules will be used when rules for the year not exists. Use directory fullpath to init schedule.

$calendar = new Calendar(new Schedule('/var/www/my-site/rules/pl'));

Calculate number of working days with one of follow ways:

echo $calendar->calendarToWorkingDays(new \DateTime('2016-02-24'), new \DateTime('2016-02-29')); // 3
echo $calendar->calendarToWorkingDays(new \DateTime('2016-02-29'), new \DateTime('2016-02-24')); // -3
echo $calendar->calendarToWorkingDays(new \DateTime('2016-02-24'), 5); // 3
echo $calendar->calendarToWorkingDays(new \DateTime('2016-02-29'), -5); // -3

Calculate number of calendar days by working days with one of follow ways:

echo $calendar->workingToCalendarDays(new \DateTime('2016-02-24'), 3); // 5
echo $calendar->workingToCalendarDays(new \DateTime('2016-02-29'), -3); // -5

Additional information

You can help the project by adding rules for another countries. Send me your pull requests. But please use the same formating for json files.

About

Library for advanced operations with calendar days

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages