【发布时间】:2017-07-24 22:26:21
【问题描述】:
我正在尝试将 2 个工作日添加到日期中,但我也想排除数组中的日期。
要排除的日期数组:
$bankHolidays = array();
foreach($obj as $e) {
if($e->division == 'england-and-wales') {
foreach($e->events as $events) {
$bankHolidays[] = $events->date;
}
}
}
到目前为止增加 2 个工作日
$ret = date('d-m-Y', strtotime($bill["charge_customer_at"]. ' +2 weekdays'));
如何包含要排除的日期数组?
例如,如果我的日期是 2017-07-19 并且我想添加 2 周天,那将输出 2017-07-21。
但是,如果 2017-07-21 在我的数组中,它应该跳过这个日期并继续添加 2 个工作日,因此输出最终将是 2017-07-24,因为周末也是如此。
【问题讨论】:
-
我已经阅读了你的问题几次,但不明白你想要的输出。如果您提供所需输出的示例,我很确定我可以做到这一点。
-
检查我的更新,我提供了一个例子。我希望这是有道理的
-
让您的脚本返回日期 + 2 天。做一个“假期检查”,看看你的假期数组中是否存在这个新日期。如果是这样,则添加一天。然后你只需要验证它是否是工作日。如果生成的日期是星期六或星期日,则将日期添加 1 天,然后重新运行整个事情(从假期检查开始)。听起来你理论上已经有了?只需使用
in_array()方法。