PHP,在数据库列中比较当前时间,然后显示它



>我已经将旅行时间存储在数据库中。我想根据当前时间仅向用户显示可用的旅行(尚未离开的旅行)。

这是我的php代码,但它返回"false"作为结果。请问我做错了什么?

require "conn.php"; 
$sql = "SELECT * FROM Horaires";
$result = mysqli_query($conn, $sql);
$temp = array();
$now = strtotime(date("h:i"));
while ($row = mysqli_fetch_array($result))
{
$temp[]=array($row['timing']);
$time = strtotime($temp);
}
if ($now >= $time)
{ echo json_encode($time, JSON_NUMERIC_CHECK); }
else { echo "There is no more travels today"; }
$conn->close();

如果它是 DateTime 格式(您可以使用 DateTime::createFromFormat("format","time") 创建它),您可以使用 funciton ->diff 来获取它们之间的差异。例:

$time1 = DateTime::createFromFormat("G:i:s",date('G:i:s'));
sleep(5);
$time2 = DateTime::createFromFormat("G:i:s",date('G:i:s'));
echo $time2->diff($time1);

这就是我解决这个问题的方法。 所以最好是让它们采用日期时间格式。

相关内容

  • 没有找到相关文章