我试图比较两个不同的日期时间并找出差异。
我在尝试运行/编译我的代码时收到此错误 PHP Fatal error: Call to a member function diff() on a non-object in... 但无法弄清楚我做错了什么。
$datetime = date("Y-m-d H:i:s");
$localhost = "localhost";
$conn = mysqli_connect($localhost, $mysqlUsername, $mysqlPassword, $mysqlDB);
if (!$conn)
{
die("Connection failed: " . mysqli_connect_error());
echo "Connection to DB failed";
}
$sql = "SELECT * FROM UniqueUsers";
$result = mysqli_query($conn, $sql);
if ($result->num_rows > 0 )
{
while($row = $result->fetch_assoc())
{
$datetime1 = new DateTime($row['worldtime']);
$interval = $datetime->diff($datetime1);
echo $interval->format('%R%a days');
}
}
最佳答案
您的 $datetime
变量不是对象。功能date() 不返回 DateTime 对象,而是返回格式化字符串。
将第一行替换为
$datetime = new DateTime(date("Y-m-d H:i:s"));
关于PHP fatal error : Call to a member function diff() on a non-object in. .. 比较数据库中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33550247/