繁体   English   中英

如何在PHP中找到两个日期之间的时差

[英]How to find time difference between 2 dates in php

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

date1='05-11-2012 11:25:00'
date2='06-11-2012 17:45:00'
$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
<?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

您忽略了要以哪种格式表示时差。如果您愿意以秒为单位进行工作(很容易转换),则可以简单地将每个日期转换为时间戳,然后使用基本数学方法求出绝对差。 例如,给定$ date1 = '05 -11-2012 11:25:00'和$ date2 = '06 -11-2012 17:45:00':

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

结果您可以做任何您想做的。

$ 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中的两个日期之间是不同的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM