[英]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.