计算时差(PHP)



这是我的函数

<?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

相关内容

  • 没有找到相关文章

最新更新