PHP的日期/时间差异给了我额外的一小时

时间:2013-12-20 05:46:08

标签: php

我正在尝试使用代码来获取2个日期/时间值之间的小时差异。 差异应该是47.82,但结果是48.82。我无法弄清楚原因。

$time1 = '11/03/2013 15:28:00';
$time2 = '11/01/2013 15:39:00';

$hourdiff = round((strtotime($time1) - strtotime($time2))/3600,2);
echo $hourdiff;

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

必须与夏令时相关。据我所知,根据谷歌在美国的夏令时于11月2日结束,这可能就是原因。试试这个,看看你是否得到了正确的结果:

$time1 = '11/05/2013 15:28:00 <br/>';
$time2 = '11/03/2013 15:39:00';

答案 1 :(得分:0)

试试这个......

$diffHours = round(((strtotime($time1) - strtotime($time2)) / 3600),2);

在你的等式中,你没有四舍五入总结果

由于

答案 2 :(得分:0)

差异可能是由于夏令时。

您可以将日期设置为UTC,以消除此问题。

$time1 = '11/03/2013 15:28:00 UTC';
$time2 = '11/01/2013 15:39:00 UTC';

$hourdiff = round( ( strtotime( $time1 ) - strtotime( $time2 ) ) / 3600, 2 );