繁体   English   中英

PHP-比较两个日期

[英]php - comparing two date

我有以下代码,我试图比较两个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";
}

请无视我的帮助

谢谢

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

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

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

更改:

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

至:

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

确保您整理正确的数据类型,带时间戳的时间戳,而不带字符串等。

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

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

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

您可能还会遇到这个stackoverflow问题, 如何使用PHP计算两个日期之间的差?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM