这是我的函数
<?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
//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页面顶部使用这个函数设置时区:
http://www.php.net/manual/en/function.date-default-timezone-set.php http://www.php.net/manual/en/timezones.php