0

我想以分钟为单位获取两个日期之间的时差。2个日期的格式如下

date1='05-11-2012 11:25:00'
date2='06-11-2012 17:45:00'
4

4 回答 4

2
$datetime1 = new DateTime('05-11-2012 11:25:00');
$datetime2 = new DateTime('06-11-2012 17:45:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days'); //return +1 days
//or
$datetime1 = date_create('05-11-2012 11:25:00');
$datetime2 = date_create('06-11-2012 17:45:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days'); //return +1 days

对于 php <5.3

$date1 = '05-11-2012 11:25:00';
$date2 = '06-11-2012 17:45:00';
$diff = floor(abs( strtotime( $date1 ) - strtotime( $date2 ) )/(60*60*24));
printf("%d days\n", $diff); //return 1 days
于 2012-11-05T05:57:17.000 回答
1
<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>

如需进一步参考,请访问以下链接 http://php.net/manual/en/datetime.diff.php

于 2012-11-05T06:00:32.510 回答
1

您忽略了说明您希望用什么格式表示时差。如果您愿意以秒为单位工作(很容易转换),您可以简单地将每个日期转换为时间戳,然后使用基本数学计算绝对差. 例如,给出 $date1 = '05-11-2012 11:25:00' 和 $date2 = '06-11-2012 17:45:00':

$diff_seconds = abs( strtotime( $date1 ) - strtotime( $date2 ) );

你可以对结果做任何你喜欢的事情。

于 2012-11-05T06:01:07.190 回答
0

$start_time = strtotime("2012-10-12 11:35:00");

$end_time = strtotime("2012-10-13 12:42:50");

回声回合( abs( $end_time - $start_time ) / 60,2 )。“ 分钟”;

这在 MINUTES 中的两个日期之间是不同的。

于 2012-11-05T06:16:39.967 回答