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

Php 两个日期之间的时间差(以分钟为单位),php,datetime,Php,Datetime,在PHP5.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.

在PHP5.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); 
如何使其在PHP5.2上工作?是否有任何等效功能可用

让它工作起来了

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

您可以使用和,而不是
DateTime


如果您需要几天的时间,您可以将这一分钟添加到混合中:

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

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

function time_Diff_Minutes($startTime, $endTime) {
        $to_time = strtotime($endTime);
        $from_time = strtotime($startTime);
        $minutes = ($to_time - $from_time) / 60; 
        return ($minutes < 0 ? 0 : abs($minutes));   

 } 
 echo time_Diff_Minutes("2008-12-13 20:00:00","2008-12-14 08:00:00"); //output 720
 echo time_Diff_Minutes("2008-12-14 20:00:00","2008-12-13 08:00:00"); //output 0 (startTime > endTime) Ternary will return 0  
function time_Diff_Minutes($startTime,$endTime){
$to_time=strottime($endTime);
$from_time=strottime($startTime);
$minutes=($to_time-$from_time)/60;
返回($minutes<0?0:abs($minutes));
} 
回声时间差分钟(“2008-12-13 20:00:00”,“2008-12-14 08:00:00”)//输出720
回声时间差分钟(“2008-12-14 20:00:00”,“2008-12-13 08:00:00”)//输出0(开始时间>结束时间)将返回0

我认为使用$interval/60获得分钟数是最好的。“日期('i',…)”将限制在59分钟。在我的编辑和@JaisonErick建议之后,这是相同的解决方案。;-)
function time_Diff_Minutes($startTime, $endTime) {
        $to_time = strtotime($endTime);
        $from_time = strtotime($startTime);
        $minutes = ($to_time - $from_time) / 60; 
        return ($minutes < 0 ? 0 : abs($minutes));   

 } 
 echo time_Diff_Minutes("2008-12-13 20:00:00","2008-12-14 08:00:00"); //output 720
 echo time_Diff_Minutes("2008-12-14 20:00:00","2008-12-13 08:00:00"); //output 0 (startTime > endTime) Ternary will return 0