2 个日期之间的时间差异(以分钟为单位)

2022-08-30 21:46:55

在 php 5.3 上完成这项工作

$datetime1 = new DateTime("2011-10-10 10:00:00");
$datetime2 = new DateTime("2011-10-10 10:45:00");
$interval = $datetime1->diff($datetime2);
$hours   = $interval->format('%h'); 
$minutes = $interval->format('%i');
echo 'Diff. in minutes is: '.($hours * 60 + $minutes); 

我怎样才能让它在php 5.2上工作?是否有任何等效的功能可用??

让它工作

$date1 = "2011-10-10 10:00:00";
$date2 = "2011-10-10 10:11:00";
echo round((strtotime($date2) - strtotime($date1)) /60);

答案 1

而不是你可以使用 strtotimedateDateTime

$datetime1 = strtotime("2011-10-10 10:00:00");
$datetime2 = strtotime("2011-10-10 10:45:00");
$interval  = abs($datetime2 - $datetime1);
$minutes   = round($interval / 60);
echo 'Diff. in minutes is: '.$minutes; 

答案 2

如果您需要跨越几天的分钟数,则可以将这个添加到组合中:

$days = $interval->format("%d");

if ($days > 0) {
  return ($hours * 60 + $minutes) + ($days * 24 * 60);
}

推荐