比较两个日期


comparing two date

我有下面的代码,我试图比较两个get,以便进入if语句,但我的is代码有问题。

如果时间在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";
}

请帮我处理

感谢

确保您的通信是正确的数据类型,带有时间戳的时间戳,而不是字符串等

$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";
}

您正在将字符串与日期进行比较。$gettime是一个字符串,您正在将它与时间对象进行比较。

您需要通过调用$gettime=strtotime($gettime)将$gettime转换为时间对象,然后可以使用>或<就像你上面提到的一样。

假设您以date格式(而不是string格式)从DB接收时间:

更改:

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

至:

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

对于比较时间,您应该使用提供的PHP类DateTime::diff将返回一个具有时差信息的对象:http://www.php.net/manual/en/datetime.diff.php

您可以在他们的网站上查阅关于DateTime::diff函数的PHP文档http://php.net/manual/en/datetime.diff.php

您还可以讨论这个stackerflow问题如何使用PHP计算两个日期之间的差异