首页 > 解决方案 > 为什么 DateTime::diff 没有显示正确的分钟数?

问题描述

我正在尝试以分钟为单位计算时间之间的差异,并且每次尝试它都会显示不正确的时间。我不确定我在这里做错了什么。下面是我的代码。任何帮助将不胜感激。

$time_now = new DateTime("now",new DateTimeZone("America/New_York"));
$future_order_time = new DateTime("7:00 pm",new DateTimeZone("America/New_York"));

$interval = $time_now->diff($future_order_time);

echo $interval->format("%i");

标签: php

解决方案


DateTime::diff 返回天、小时、分钟(和秒、微秒)的差异。您必须考虑账单中的日期和时间。

$diffMinutes = ($interval->days * 24 + $interval->h) * 60 + $interval->i;

推荐阅读