这是我的功能
<?php
//Find time difference
function timeDifference($timeEnd, $timeStart){
$tResult = strtotime($timeEnd) - strtotime($timeStart);
return date("G:i", $tResult-3600);
}
?>
还有一个例子
<?php
echo timeDifference(12:00:00,08:30:00);
?>
我的本地主机上的结果很好,但在我的在线服务器上,它显示的是 21:30,而实际上应该是 3:30。什么可以做到这一点?
更新
这是我的 php 5.2 解决方案
<?php
//Find time difference
function timeDifference($timeEnd, $timeStart){
$tResult = round(abs(strtotime($timeEnd) - strtotime($timeStart)));
return gmdate("G:i", $tResult);
}
?>
谢谢大家的帮助
最佳答案
如果您使用 PHP 5.3,它带有内置 date_diff()
功能。
这可能比尝试调试自己的函数更容易。
顺便说一下,您给出的代码:
echo timeDifference(12:00:00,08:30:00);
永远不会起作用,因为时间字符串周围没有引号。我认为这是问题中的拼写错误,因为您声称该函数正在返回结果(即使它们不正确)
关于php - 计算时差 (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6749051/