对不起这个问题的措辞,但它正在努力,我需要找到最早的交付日期,
$useStartDate = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
我有两个功能
首先检查日期是周末还是星期一,并相应地增加
function checkWeekend ($CheckDateDate){
if (date("w", $CheckDateDate) == 1) { //monday
return strtotime('+1 day', $CheckDateDate);
}
else if (date("w", $CheckDateDate) == 0) { //sunday
return strtotime('+2 day', $CheckDateDate);
}
else if (date("w", $CheckDateDate) == 6) { //saturday
return strtotime('+3 day', $CheckDateDate);
}
else {
return 0;
}
}
第二次检查日期是否在我的假期数据库中
function checkHoliday ($CheckDateDate) {
$result = mysql_query("SELECT * FROM tblNonDeliveryDates Where NonDeliveryDate = '$CheckDateDate'");
if (mysql_num_rows($result) > 0) {
return strtotime('+1 day', $CheckDateDate);
}
else {
return 0;
}
}
现在我要做的就是检查这两个功能,直到它们都返回0,我在返回时遇到问题并且检查日期不是周末,因为它是假期。这就是我所拥有的,但我知道这是错的。
$CheckDate = $useStartDate;
while ($Checkdate > 0)
{
$LastChecked = $CheckDate;
$Checkdate = checkWeekend($CheckDate);
$Checkdate = checkHoliday($CheckDate);
}
echo $LastChecked;
希望这很清楚。
答案 0 :(得分:1)
您可以尝试这样
$CheckDate = $useStartDate;
while ($Checkdate > 0)
{
$weekend = false;
$holiday = false;
if( checkWeekend($Checkdate) != 0)
$weekend = true;
else if( checkHoliday($Checkdate) != 0)
$holiday = true;
else
$Checkdate = 0;
if( $weekend )
$Checkdate = checkWeekend($Checkdate);
else if( $holiday )
$Checkdate = checkHoliday($Checkdate);
$LastChecked = $Checkdate;
}
echo $LastChecked;