olszewskimaciej / daysoff
dev-main
2024-06-08 14:12 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2024-09-08 14:45:59 UTC
README
DaysOff 库是一个 PHP 包,提供与计算节假日、周末和工作日相关的功能。它提供方法来确定给定日期是否为节假日、周末或工作日,以及根据工作日计算日期,还可以返回给定日期之间的特定日期。
安装
您可以通过 Composer 安装此库
composer require olszewskimaciej/daysoff:dev-main
用法
以下是如何使用它的示例
use DaysOff\DaysOff; use DaysOff\Providers\PolishHolidayProvider; // Initialize the holiday provider $holidayProvider = new PolishHolidayProvider(); // Initialize the DaysOff instance $daysOff = new DaysOff($holidayProvider); $fromDate = new DateTime('2024-01-01'); $toDate = new DateTime('2024-12-31'); $daysToAdd = 10; // Add and remove holidays $daysOff->addHoliday(new DateTime('2025-05-02'), 'Custom Holiday'); $daysOff->removeHoliday(new DateTime('2025-01-06')); // Calculate calendar days from date + X working days echo '<b>getCalendarDaysFromDatePlusWorkingDays</b>: '; print_r($daysOff->getCalendarDaysFromDatePlusWorkingDays($fromDate, $daysToAdd)); // Calculate date from date + X working days echo '<b>getDateFromDatePlusWorkingDays</b>: '; print_r($daysOff->getDateFromDatePlusWorkingDays($fromDate, $daysToAdd)); // Get holiday name echo '<b>getHolidayName</b>: '; print_r($daysOff->getHolidayName($fromDate)); // Check if a date is a holiday echo '<b>isHoliday</b>: '; var_dump($daysOff->isHoliday($fromDate)); // Count holidays between dates echo '<b>countHolidaysBetweenDates</b>: '; var_dump($daysOff->countHolidaysBetweenDates($fromDate, $toDate)); // Get holidays between dates echo '<b>getHolidaysBetweenDates</b>: '; print_r($daysOff->getHolidaysBetweenDates($fromDate, $toDate)); // Count holidays and weekends from date + X days echo '<b>countHolidaysAndWeekendsFromDatePlusDays</b>: '; var_dump($daysOff->countHolidaysAndWeekendsFromDatePlusDays($fromDate, $daysToAdd)); // Get holidays and weekends from date + X days echo '<b>getHolidaysAndWeekendsFromDatePlusDays</b>: '; print_r($daysOff->getHolidaysAndWeekendsFromDatePlusDays($fromDate, $daysToAdd)); // Count working days from date + X days echo '<b>countWorkingDaysFromDatePlusDays</b>: '; var_dump($daysOff->countWorkingDaysFromDatePlusDays($fromDate, $daysToAdd));
用例
DaysOff 库在以下场景中可能很有用:
- 任务调度:确定任务或事件的业务日。
- 交货日期计算:根据工作日计算交货日期。
- 资源分配:考虑节假日和周末进行资源分配。
- 休假管理:根据工作日管理员工休假申请。
DaysOff 库
DaysOff 是一个 PHP 库,提供与计算节假日、周末和工 作日相关的功能。它提供方法来确定给定日期是否为节假日、周末或工作日,以及根据工作日计算日期,还可以返回给定日期之间的特定日期。
安装
您可以通过 Composer 安装此库
composer require olszewskimaciej/daysoff:dev-main
用法
以下是如何使用它的示例
use DaysOff\DaysOff; use DaysOff\Providers\PolishHolidayProvider; // Inicjalizacja "dostawcy" świąt $holidayProvider = new PolishHolidayProvider(); // Inicjalizacja biblioteki $daysOff = new DaysOff($holidayProvider); $fromDate = new DateTime('2024-01-01'); $toDate = new DateTime('2024-12-31'); $daysToAdd = 10; // Dodaj, usuń święto $daysOff->addHoliday(new DateTime('2025-05-02'), 'Custom Holiday'); $daysOff->removeHoliday(new DateTime('2025-01-06')); // Oblicz liczbę dni kalendarzowych od daty + X dni roboczych echo '<b>getCalendarDaysFromDatePlusWorkingDays</b>: '; print_r($daysOff->getCalendarDaysFromDatePlusWorkingDays($fromDate, $daysToAdd)); // Oblicz datę od daty + X dni roboczych echo '<b>getDateFromDatePlusWorkingDays</b>: '; print_r($daysOff->getDateFromDatePlusWorkingDays($fromDate, $daysToAdd)); // Zwróc nazwę święta echo '<b>getHolidayName</b>: '; print_r($daysOff->getHolidayName($fromDate)); // Sprawdź czy podana data wypada w święto echo '<b>isHoliday</b>: '; var_dump($daysOff->isHoliday($fromDate)); // Policz święta pomiędzy podanymi datami echo '<b>countHolidaysBetweenDates</b>: '; var_dump($daysOff->countHolidaysBetweenDates($fromDate, $toDate)); // Zwróć święta pomiędzy podanymi datami echo '<b>getHolidaysBetweenDates</b>: '; print_r($daysOff->getHolidaysBetweenDates($fromDate, $toDate)); // Policz święta i weekendy od daty + X dni echo '<b>countHolidaysAndWeekendsFromDatePlusDays</b>: '; var_dump($daysOff->countHolidaysAndWeekendsFromDatePlusDays($fromDate, $daysToAdd)); // Zwróc święta i weekendy od daty + X dni echo '<b>getHolidaysAndWeekendsFromDatePlusDays</b>: '; print_r($daysOff->getHolidaysAndWeekendsFromDatePlusDays($fromDate, $daysToAdd)); // Policz dni robocze od daty + X dni echo '<b>countWorkingDaysFromDatePlusDays</b>: '; var_dump($daysOff->countWorkingDaysFromDatePlusDays($fromDate, $daysToAdd));
用例
DaysOff 库在以下场景中可能很有用:
- 任务调度:确定任务或事件的业务日。
- 交货日期计算:根据工作日计算交货日期。
- 资源分配:考虑节假日和周末进行资源分配。
- 休假管理:根据工作日管理员工休假申请。