php - 计算时差 (PHP)

标签 php function time strtotime

这是我的功能

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

相关文章:

javascript - HTML - 如何在 OnClick 事件中更改按钮背景颜色

c - 如果有许多具有相同参数的函数,是否应该使用宏来避免多次输入参数?

如果时间在晚上 7 点到早上 7 点之间,Javascript 会这样做吗?

r - 在R控制台中覆盖当前输出

php - 将无效的 json 转换为有效的 json

PHP Bootstrap 为不同的网格大小结束一行

php - 如何在 php 中使用 wget?

c++ - 在C++中添加一组数字

c++ - 函数大小与执行速度

VBA - 将日期和时间替换为星期几和 AM/PM