PHP中两个DateTime之间的分钟数

时间:2014-01-24 16:30:23

标签: php datetime dateinterval date-math

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

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

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

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

3 个答案:

答案 0 :(得分:7)

%m持续数月。会议纪要为%i

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

答案 1 :(得分: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

答案 2 :(得分:1)

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

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

See it working