-2

我正在尝试获取 PHP 中两个 DateTimes 之间的分钟数:

$time = new DateTime($dateString);
$now = new DateTime;
$diff = $time->diff($now);

echo $diff->format('%m');

结果始终为 0,尽管 DateTimes 相隔几个小时。我将如何以正确的方式做到这一点?

4

3 回答 3

7

%m是几个月。分钟是%i

echo $diff->format('%i');
于 2014-01-24T16:31:16.543 回答
2

2 个日期时间之间的总分钟数:

$diff = (new DateTime($string))->diff(new DateTime); # PHP >= 5.4.0
#$diff = date_diff(date_create($string), date_create()); # PHP >= 5.3.0
$minutes = ($diff->days * 24 + $diff->h) * 60 + $diff->i;

demo

于 2014-01-24T17:01:14.017 回答
1

在这种情况下,我会保持简单并使用时间戳/60 之间的差异:-

$minutes = ($date2->getTimestamp() - $date1->getTimestamp())/60;

看到它工作

于 2014-01-25T19:24:39.153 回答