我想獲取明天的日期。但如果明天是Saturday
或Sunday
。它將在Monday
中獲得日期。它將跳過星期六和星期日。如果明天是假期,它也會跳過日期並獲得下一個日期。我有我的數據庫中的節日日期列表。PHP - 'false'時循環,'true'時停止
我已嘗試此代碼。假設今天是Friday, May 24
。
$today = "2013-05-24";
$tommorow = date('Y-m-d', strtotime($today . ' + 1 day'));
$valid = check_valid($tommorow);
while (!$valid){
$tommorow = date('Y-m-d', strtotime($today . ' + 1 day'));
$valid = check_valid($tommorow);
if($valid){
break;
}
}
function check_valid($date){
return true;
$timestamp = strtotime($date);
$day = date('D', $timestamp);
if ($day == "Sat" || $day == "Sun"){
return false;
}
$mysql= mysql_query("SELECT * FROM holiday_data WHERE date = '$date'");
if (mysql_num_rows($mysql) >= 1){
return false;
}
}
我使用while
子句,因爲我認爲有holiday date
在兩三天在一行中出現。例如,假期在5月27日和28日,那麼明天的日期應該在Wednesday
。
任何想法? 你能幫我嗎?
如果有其他的方法來做到這一點,我也想知道。
謝謝
我的代碼結果是'$ tomorrow'是'May 25'。我認爲'while'條款是問題所在。 – kaitosenpai
我認爲你最好使用日期('N')比日期('D')進行比較。日期('N')返回一個整數(星期數)。這只是一個開始。 – netvision73
您的check_valid函數總是返回true ... – Syjin