2017 © Pedro Peláez
 

library workdays

image

petaak/workdays

  • Monday, August 28, 2017
  • by petaak
  • Repository
  • 2 Watchers
  • 0 Stars
  • 6,363 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 4 Versions
  • 9 % Grown

The README.md

Usage

$workdaysUtil = new Petaak\Workdays\WorkdaysUtil('CZE');

$datetime = new DateTime('2016-01-04 12:46:28');

echo ($workdaysUtil->isHoliday($datetime) ? 'true' : 'false') . PHP_EOL;
// false

echo ($workdaysUtil->isWorkday($datetime) ? 'true' : 'false') . PHP_EOL;
// true

$nextCzeHoliday = $workdaysUtil->getNextHoliday($datetime);
echo $nextCzeHoliday->getName() . PHP_EOL;
// Velký pátek
echo $nextCzeHoliday->getDate()->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-03-25 00:00:00

echo $workdaysUtil->getNextWorkday($datetime)->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-01-05 12:46:28

$workdaysUtil->addWorkdays($datetime, 7);
echo $datetime->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-01-13 12:46:28

$workdaysUtil->subWorkdays($datetime, 4);
echo $datetime->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-01-07 12:46:28




$datetime = new DateTime('2016-01-04 12:43:28');

echo ($workdaysUtil->isHoliday($datetime, 'SVK') ? 'true' : 'false') . PHP_EOL;
// false

echo ($workdaysUtil->isWorkday($datetime, 'SVK') ? 'true' : 'false') . PHP_EOL;
// true

$nextSvkHoliday = $workdaysUtil->getNextHoliday($datetime, 'SVK');
echo $nextSvkHoliday->getName() . PHP_EOL;
// Zjavenie Pána
echo $nextSvkHoliday->getDate()->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-01-06 00:00:00

echo $workdaysUtil->getNextWorkday($datetime, 'SVK')->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-01-05 12:43:28

$workdaysUtil->addWorkdays($datetime, 7, 'SVK');
echo $datetime->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-01-14 12:43:28

$workdaysUtil->subWorkdays($datetime, 4, 'SVK');
echo $datetime->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-01-08 12:43:28

Custom Holiday Providers

class CustomHolidaysProvider implements Petaak\Workdays\HolidaysProvider\IHolidaysProvider
{
    // ...
}

// initialize workdays util without country code; the correct holidays provider is not yet available
$workdaysUtil = new Petaak\Workdays\WorkdaysUtil();
$workdaysUtil->registerHolidaysProvider(new CustomHolidaysProvider(), 'ZZ');
// set the default country once the holidays provider is registered
$workdaysUtil->setCountry('ZZ');

The Versions

28/08 2017

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

  • php >= 5.4.0
  • ext-calendar *

 

The Development Requires

by Petr Vácha

workdays

28/08 2017

0.1.2

0.1.2.0

  Sources   Download

MIT

The Requires

  • php >= 5.4.0
  • ext-calendar *

 

The Development Requires

by Petr Vácha

workdays

09/11 2016

0.1.1

0.1.1.0

  Sources   Download

MIT

The Requires

  • php >= 5.4.0
  • ext-calendar *

 

The Development Requires

by Petr Vácha

workdays

10/08 2016

0.1.0

0.1.0.0

  Sources   Download

MIT

The Requires

  • php >= 5.4.0
  • ext-calendar *

 

The Development Requires

by Petr Vácha

workdays