code16/carbon-business-days

一个简单的用于计算工作日的类

v1.1.0 2024-04-03 09:56 UTC

This package is auto-updated.

Last update: 2024-09-03 10:49:59 UTC


README

此包旨在计算两个 Carbon 日期之间的工作日。

用法

$date = new BusinessDays();
    
// Set holidays (2018-1-1 is a Monday)
$date->addHoliday(Carbon::createFromDate(2018, 1, 1));
    
// Should return 9
$days = $date->daysBetween(
    Carbon::createFromDate(2018, 1, 1),
    Carbon::createFromDate(2018, 1, 15)
);
    
// Set a closed period (whole 2nd week)
$date->addClosedPeriod(
    Carbon::createFromDate(2018, 1, 8),
    Carbon::createFromDate(2018, 1, 12)
);

// Should return 5
$days = $date->daysBetween(
    Carbon::createFromDate(2018, 1, 1),
    Carbon::createFromDate(2018, 1, 15)
);

默认周末为周六和周日,但可以进行配置

$date->setWeekendDays([Carbon::SUNDAY, Carbon::MONDAY]);

您还可以从给定日期添加或减去天数

$newDate = $date->addDaysTo(
    Carbon::createFromDate(2018, 5, 14), 
    10
);
$newDate = $date->subDaysFrom(
    Carbon::createFromDate(2018, 5, 14), 
    10
);

安装

composer require code16/carbon-business-days

许可

MIT