PHP-以分钟为单位的时间差

PHP-以分钟为单位的时间差,php,Php,我想计算两次的差值。我用这个方法返回以分钟为单位的差值 $datetime1 = new DateTime('9.00am'); $datetime2 = new DateTime('10.15am'); $interval = $datetime1->diff($datetime2); $timeDuration = $interval->format('%im'); 但是,$timeDuration返回的是15m,而不是75m。 是否有任何帮助可以更正代码,使其在几分钟内返回准

我想计算两次的差值。我用这个方法返回以分钟为单位的差值

$datetime1 = new DateTime('9.00am');
$datetime2 = new DateTime('10.15am');
$interval = $datetime1->diff($datetime2);
$timeDuration = $interval->format('%im');
但是,
$timeDuration
返回的是
15m
,而不是
75m

是否有任何帮助可以更正代码,使其在几分钟内返回准确的差异?

在几分钟内获得差异的简单方法

<?php

 $start = date_create('1990-01-01 09:00:00');
 $end = date_create('1990-01-01 10:15:00');

 $interval=date_diff($end, $start);

 $hours   = $interval->format('%h'); 
 $minutes = $interval->format('%i');

 $in_minutes = $hours * 60 + $minutes;

 echo  'Diff. in minutes is: '.$in_minutes;

?>

因为
9am
10:15am
之间的时间是1小时(
$interval->h
)和15分钟(
$interval->i
),而不是75分钟

如果希望获得总分钟数,则必须计算:

$differenceInMinutes = $interval->i + ($interval->h * 60);
$datetime1 = new DateTime('9.00am');
$datetime2 = new DateTime('10.15am');
$interval = $datetime1->diff($datetime2);
$hours   = $interval->format('%h'); 
$minutes = $interval->format('%i');
$difference_in_minutes = $hours * 60 + $minutes;

echo  'Difference in minutes is: ' . $difference_in_minutes . "\n";
如果您希望有更通用的解决方案,我会选择unix时间:

$differenceInSeconds = abs($datetime1->format('U') - $datetime2->format('U'));

$differenceInMinutes = ceil($differenceInSeconds / 60);

当您试图计算两个
DateTime
之间的差异时,如
$datetime1=newdatetime('9.00am')
$datetime2=新的日期时间('10.15am')
您知道差异是75分钟,但是
diff()
方法的结果是
$interval->h
为1小时,
$interval->i
为15分钟。这就是你如何计算它的方法:

$differenceInMinutes = $interval->i + ($interval->h * 60);
$datetime1 = new DateTime('9.00am');
$datetime2 = new DateTime('10.15am');
$interval = $datetime1->diff($datetime2);
$hours   = $interval->format('%h'); 
$minutes = $interval->format('%i');
$difference_in_minutes = $hours * 60 + $minutes;

echo  'Difference in minutes is: ' . $difference_in_minutes . "\n";

有一个工作

您是否检查了输入的日期是否被正确解析?如果超过24小时,则可能重复?