【发布时间】:2021-04-10 12:01:17
【问题描述】:
嗨,我有 3 个约会 DropoffDate, atd and utd。
逻辑是
atd = DropOffDate + 3 Days 和 utd = DropOffDate + 9 Days
如果DropOffDate = 24-12-2019 那么atd = 27-12-2019 and utd = 02-01-2020
我有很多假期
Array
(
[0] => 25-12-2019
[1] => 01-01-2020
[2] => 18-04-2019
[3] => 26-12-2019
[4] => 01-08-2021
[5] => 30-11-2021
[6] => 04-01-2021
)
现在的要求是找出 DropOffDate 和 atd 之间的所有假期,并将这些天数添加到 atd 和 utd 中。如果最后的 atd 或 utd 又是假期,就再增加一天。
到目前为止,我已经编写了这个脚本,但它只获取第一个假期并且不寻找下一个假期
$holidayList = Array
(
[0] => 25-12-2019
[1] => 01-01-2020
[2] => 18-04-2019
[3] => 26-12-2019
[4] => 01-08-2021
[5] => 30-11-2021
[6] => 04-01-2021
)
$dropDate = '24-12-2019';
$atd = date("d-m-Y", strtotime("+3 days", $dod));
$utd = date("d-m-Y", strtotime("+9 days", $dod));
$dropDate = strtotime($dropDate);
$atd = strtotime($atd);
$utd = strtotime($utd);
foreach($holidayList as $holiday){
$holiDate = date('d-m-Y' , strtotime($holiday));
$holiDate = strtotime($holiDate);
if (($holiDate >= $dropDate) && ($holiDate <= $atd)){
$atd = date('d-m-Y' , $atd);
$atd = date("d-m-Y", strtotime("+1 days", $atd));
}
if(($holiDate >= $dropDate) && ($holiDate <= $utd)){
$utd = date('d-m-Y' , $utd);
$utd = date("d-m-Y", strtotime("+1 days", $utd));
}
}
echo "<b>AT Date".$atd."<br>";
echo "<b>UT Date".$utd;
ATD 和 UTD 应为 29-12-2019 和 5-1-2020。请帮忙!
【问题讨论】:
标签: php arrays date datetime foreach