2012-09-02 178 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))