工作日(周一至周五)以 PHP 计

2022-08-30 10:52:05

有没有办法使用将工作日(星期一到星期五)添加到日期?还是其他方法?我想做的是:strtotime

date ( 'Y-m-j' , strtotime ( '+3 working days' ) )

答案 1

如果限制为工作日,请使用字符串工作日。

echo date ( 'Y-m-j' , strtotime ( '3 weekdays' ) );

这应该会让你提前3个工作日,所以如果是星期四,它将增加额外的周末时间。

资料来源:http://www.php.net/manual/en/datetime.formats.relative.php


答案 2

当需要大量工作日时,我发现这个错误。我正在寻找当月1日之后的X个工作日。

起初看起来很棒,直到添加>5个工作日后(类似于@zerkms发现的内容)。

事实证明,这对我来说更准确。

    function _getBusinessDayOfMonth( $days ) { 
        $time = strtotime(date("m/1/Y 00:00")); //finding # of business days after 1st of the month
        $i = 0; //start with zero
        while ($i < $days) { //loop through until reached the amount of weekdays
            $time = strtotime("+1 day", $time); //Increase day by 1
            if (date("N", $time) < 6) { //test if M-F
                $i++; //Increase by 1
            }
        }
        echo date("m/d/Y", $time);
    }

推荐