2012-09-02 175 views
0

我有下面的代碼,我想比較兩個得到爲了進入if語句,但我錯了代碼。php - 比較兩個日期

如果時間超過23:29和小於08:10下面的代碼應該運行...

$gettime="04:39"; // getting this from database 

$startdate = strtotime("23:29"); 
$startdate1 = date("H:i", $startdate); 

$enddate = strtotime("08:10"); 
$enddate1 = date("H:i", $enddate); 


//this condition i need to run  

if($gettime >= strtotime($startdate1) && $gettime <= strtotime($enddate1)) 
{ 
echo"ok working"; 
} 

請幫我在DIS方面

感謝

回答

1

確保你可以選擇正確的數據類型,帶時間戳的時間戳,而不是w /字符串等......

$gettime= strtotime("22:00"); // getting this from database 

$startdate = strtotime("21:00"); 
//$startdate1 = date("H:i", $startdate); 

$enddate = strtotime("23:00"); 
//$enddate1 = date("H:i", $enddate); 


//this condition i need to run  

if($gettime >= $startdate && $gettime <= $enddate) 
{ 
echo"ok working"; 
} 
1

您正在比較字符串與日期。 $ gettime是一個字符串,您將它與時間對象進行比較。

您需要通過調用$ gettime = strtotime($ gettime)將$ gettime轉換爲時間對象,然後您可以使用>或<(如上所述)進行比較。

1

假設你收到的時間從數據庫中date格式(而不是作爲一個string):

變化:

if($gettime >= strtotime($startdate1) && $gettime <= strtotime($enddate1)) 

到:

if($gettime >= strtotime($startdate1) || $gettime <= strtotime($enddate1))