0

i have following code i am trying to compare two get in order to get into if statement but i something wrong with is code.

the following code should run if the time is above 23:29 and less then 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";
}

please help me in dis regard

thanks

4

5 回答 5

1

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

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

于 2012-09-02T04:39:52.397 回答
1

假设您以date格式(而不是 a string)从数据库接收时间:

改变:

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

至:

if($gettime >= strtotime($startdate1) || $gettime <= strtotime($enddate1))
于 2012-09-02T04:40:16.393 回答
1

确保您使用正确类型的数据、带有时间戳的时间戳而不是带字符串等...

$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";
}
于 2012-09-02T04:40:46.030 回答
0

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

您也可以通过这个 stackoverflow 问题如何使用 PHP 计算两个日期之间的差异?

于 2012-09-02T04:44:37.487 回答
0

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

于 2012-09-02T04:39:02.913 回答