计算时差

发布于 2024-12-10 16:38:03 字数 577 浏览 0 评论 0原文

我尝试在 PHP 中使用 DateTime 并使用 diff 方法来查找时间戳与当前时间之间的时间差。然而 PHP 给了我错误的区别。谁能向我指出我的代码出了什么问题?谢谢!

PHP 代码

function time() {
    $now = new DateTime;
    $later = new DateTime('2011-10-17 07:08:00');
    $interval = $now->diff($later);
    echo $now->format('y m d');
    echo "<br>";
    echo $later->format('y m d');
    echo "<br>";
    echo $interval->format('%a');
}

输出

11 10 19
11 10 17
6015

明显相差 2 天,但我得到了 6015 天!

I tried using DateTime in PHP and used diff method to find the time difference between a timestamp and the current time. However PHP gives me the wrong difference. Can anyone point out to me what went wrong in my code? Thanks!

PHP Code

function time() {
    $now = new DateTime;
    $later = new DateTime('2011-10-17 07:08:00');
    $interval = $now->diff($later);
    echo $now->format('y m d');
    echo "<br>";
    echo $later->format('y m d');
    echo "<br>";
    echo $interval->format('%a');
}

Output

11 10 19
11 10 17
6015

The difference is obviously 2 days, but I get 6015 days!

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

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

发布评论

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

评论(2

音盲 2024-12-17 16:38:03

您正在执行 $now->diff($now);,应该是 $now->diff($later)

You are doing $now->diff($now);, should be $now->diff($later).

淡笑忘祈一世凡恋 2024-12-17 16:38:03

正如所写,结果应该是 0,
因为你正在做 $now->diff($now)

如果你做 $later->diff($now) 你应该得到预期的结果。

as written, the result should be 0,
because you are doing $now->diff($now)

If you do $later->diff($now) you should get the expected result.

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