+
Skip to content

h4kuna/workdays

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Downloads this Month Latest Stable Version Coverage Status Total Downloads License

Usage

use h4kuna\Workdays;
$builder = Workdays\Factory::create();

$workdays = $builder->get('cs_CZ');

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

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

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

$nextHoliday = $workdays->nextHoliday($datetime);
echo $nextHoliday->name . PHP_EOL;
// Velký pátek
echo $nextHoliday->date->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-03-25 00:00:00

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

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


$workdays = $builder->get('sk_SK');
$datetime = new DateTime('2016-01-04 12:43:28');

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

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

$nextHoliday = $workdays->nextHoliday($datetime);
echo $nextHoliday->name . PHP_EOL;
// Zjavenie Pána
echo $nextHoliday->date->format('Y-m-d H:i:s') . PHP_EOL;
// 2016-01-06 00:00:00

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

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

Custom Holiday Providers

use h4kuna\Workdays;

$builder = Workdays\Factory::create();

class CustomHolidaysProvider implements Workdays\HolidaysProvider\BaseProvider
{
    protected function holidaysInYear(int $year): array {
        return [
            // fill dates        
        ];
    }
}

$builder->addProvider('myProvider', new CustomHolidaysProvider());

// initialize workdays util without country code; the correct holidays provider is not yet available
$workdays = $builder->get('myProvider');

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载