>我已经将旅行时间存储在数据库中。我想根据当前时间仅向用户显示可用的旅行(尚未离开的旅行)。
这是我的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);
这就是我解决这个问题的方法。 所以最好是让它们采用日期时间格式。