2014-07-01 27 views
0

日期比較所以我遇到一個非常奇怪的行爲和任何諮詢將不勝感激。在PHP/CakePHP

$start_date = '02-07-2014'; 
$finish_date = '05-05-2014'; 

if($start_date < $finish_date'){ 
    return true; 
}else{ 
    return false; 
} 

在這種情況下返回truefalse返回的唯一時間是兩天之間的差異不大於兩週左右。

此外,如果完成日期真的比開始日期更長,則總是返回true

+0

的可能重複[比較兩個日期](http://stackoverflow.com/questions/3847736/comparing-two-dates) – Bora

+1

日期應該以'YYYY-MM-DD'的形式進行比較 – arilia

回答

1

這將是更好,如果你比較日期像下面 -

$start_date = date("Y-m-d",strtotime("02-07-2014")); 
$end_date = date("Y-m-d",strtotime("05-05-2014")); 

if($start_date < $finish_date){ 
    return true; 
}else{ 
    return false; 
} 

這樣你會比較在YYYY-MM-DD格式的日期,這將是準確的

+1

您也可以使用strtotime()或DateTime對象 - 如重複票據中所建議的。 – mark