我有以下代码我试图比较两个get以进入if语句但我错了是代码。
如果时间超过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";
}
请不要帮我
感谢
答案 0 :(得分:1)
您正在将字符串与日期进行比较。 $ gettime是一个字符串,您将它与时间对象进行比较。
您需要通过调用$ gettime = strtotime($ gettime)将$ gettime转换为时间对象,然后您可以使用&gt;进行比较。或者&lt;就像你上面一样。
答案 1 :(得分:1)
假设您以date
格式(而不是string
)从数据库收到时间:
变化:
if($gettime >= strtotime($startdate1) && $gettime <= strtotime($enddate1))
为:
if($gettime >= strtotime($startdate1) || $gettime <= strtotime($enddate1))
答案 2 :(得分: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";
}
答案 3 :(得分:0)
为了比较时间,您应该使用提供的PHP类 DateTime :: diff将返回一个带有时差信息的对象: http://www.php.net/manual/en/datetime.diff.php
答案 4 :(得分:0)
您可以在其网站http://php.net/manual/en/datetime.diff.php
上参阅有关DateTime::diff
功能的PHP文档
您也可以浏览此stackoverflow问题 How to calculate the difference between two dates using PHP?