【发布时间】:2022-01-20 21:01:11
【问题描述】:
我将订单日期时间存储在 mysql 数据库中。 我明白了。现在我将其转换为用户本地时区,然后在其中添加 1 天。
现在我要做的是与用户当前的本地时间相比,在上述日期时间还剩下多少小时和分钟。我的代码如下所示
$timestamp_pending_accept = strtotime($pending_accept_row['order_time']);
$order_expiry_date = date('Y-m-d H:i:s', strtotime('+1 day', $timestamp_pending_accept));
$local_time = convert_timezone($order_expiry_date,$_SESSION['user_timezone'],SERVER_TIMEZONE);
$datetime = new DateTime();
$timezone = new DateTimeZone($_SESSION['user_timezone']);
$datetime->setTimezone($timezone);
$now = $datetime->format('Y-m-d H:i:s');
$interval = $order_expiry_date->diff($now);
$remaining_time = $interval->format("%h h, %i m");
echo $remaining_time;
但它给我的错误叫
PHP Fatal error: Uncaught Error: Call to a member function diff() on string in
我不知道如何解决这个问题,请告诉我这里是否有人可以帮助我做同样的事情。
谢谢!
【问题讨论】:
-
错误很明显,因为
$order_expiry_date是一个字符串而不是一个DateTime对象