gpt4 book ai didi

php - PHP中给定日期的下一个工作日

转载 作者:IT王子 更新时间:2023-10-28 23:46:05 25 4
gpt4 key购买 nike

有没有人有 PHP 片段来计算给定日期的下一个工作日?例如,YYYY-MM-DD 需要如何转换才能找出下一个工作日?

例子:对于 03.04.2011 (DD-MM-YYYY),下一个工作日是 04.04.2011。对于 08.04.2011,下一个工作日是 11.04.2011。

这是包含我需要知道下一个工作日的日期的变量

$cubeTime['time'];

变量包含:2011-04-01片段的结果应该是:2011-04-04

最佳答案

下个工作日

从特定日期(不包括星期六或星期日)开始查找下一个工作日:

echo date('Y-m-d', strtotime('2011-04-05 +1 Weekday'));

当然,您也可以使用日期变量:

$myDate = '2011-04-05';
echo date('Y-m-d', strtotime($myDate . ' +1 Weekday'));

更新: 或者,如果您有权访问 PHP's DateTime class (很可能):

$date = new DateTime('2018-01-27');
$date->modify('+7 weekday');
echo $date->format('Y-m-d');

想跳过假期?:

虽然原始海报提到“我不需要考虑假期”,但如果您确实想忽略假期,请记住 - “假期”只是您不想包含的任何日期的数组,并且因国家、地区、公司、个人...等而异。

只需将上述代码放入一个函数中即可排除/循环过去您不希望包含的日期。像这样的:

$tmpDate = '2015-06-22';
$holidays = ['2015-07-04', '2015-10-31', '2015-12-25'];
$i = 1;
$nextBusinessDay = date('Y-m-d', strtotime($tmpDate . ' +' . $i . ' Weekday'));

while (in_array($nextBusinessDay, $holidays)) {
$i++;
$nextBusinessDay = date('Y-m-d', strtotime($tmpDate . ' +' . $i . ' Weekday'));
}

如果您愿意,我相信上面的代码可以简化或缩短。我试着用通俗易懂的方式来写。

关于php - PHP中给定日期的下一个工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5532002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com