计算时差 (PHP)

发布于 2024-11-25 05:06:28 字数 695 浏览 1 评论 0 原文

这是我的函数

<?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);
}
?>

感谢大家的帮助

Here's my function

<?php    
//Find time difference
    function timeDifference($timeEnd, $timeStart){
      $tResult = strtotime($timeEnd) - strtotime($timeStart);
      return date("G:i", $tResult-3600);
    }
?>

And an example

<?php
   echo timeDifference(12:00:00,08:30:00);
?>

The results on my localhost was fine but online on my server it's showing 21:30 when it's supposed to be 3:30. What could do that?

UPDATE

Here my solution for php 5.2

<?php
//Find time difference
function timeDifference($timeEnd, $timeStart){
  $tResult = round(abs(strtotime($timeEnd) - strtotime($timeStart)));
  return gmdate("G:i", $tResult);
}
?>

Thanks for the help guys

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤者何惧 2024-12-02 05:06:28

如果您使用 PHP 5.3,它带有内置的 date_diff () 函数。

这可能比尝试调试自己的函数更容易。

顺便说一句,您给出的代码:

echo timeDifference(12:00:00,08:30:00);

永远不会起作用,因为您在时间字符串周围没有引号。我认为这是问题中的拼写错误,因为您声称该函数正在返回结果(即使它们不正确)

If you're using PHP 5.3, it comes with a built-in date_diff() function.

It might be easier than trying to debug your own function.

By the way, the code you've given:

echo timeDifference(12:00:00,08:30:00);

is never going to work, because you haven't got quotes aruond the time strings. I assume that's a typo in the question, since you claim that the function is returning results (even if they're incorrect)

时间海 2024-12-02 05:06:28

这可能是时区问题。尝试使用 PHP 页面顶部的此函数设置时区:

http://www.php.net/manual/en/function.date-default-timezone-set.php

http://www.php.net/manual/en/timezones.php

This could be a timezone issue. Try setting the timezone with this function at the top of your PHP page:

http://www.php.net/manual/en/function.date-default-timezone-set.php

http://www.php.net/manual/en/timezones.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文