【问题标题】:PHP Comparing TimestampsPHP比较时间戳
【发布时间】:2011-05-16 16:09:02
【问题描述】:

当尝试与 php 时间戳进行比较时,我似乎得到了一个关闭值。不知道我错过了什么。

我希望我的输出最终是这样的

距离 x 3 天 5 小时 10 分钟

我正在尝试这个应该只是分钟差异的东西,但最终得到的数字非常偏离(31 天 19 小时 11 分钟)

$timesince = time() - $firstdate;
$dsince = date("d",$timesince);
$hsince = date("G",$timesince);
$msince = date("i",$timesince);

我猜我需要另一种方法来做到这一点?

【问题讨论】:

  • 什么是 $firstdate?是时间戳吗?
  • 是的,还有另一个时间戳

标签: php date timestamp


【解决方案1】:

date() 接受绝对时间戳值,而不是两个值之间的差异。您需要手动解析差异(除以 3600,然后除以 60 等)这里的 cmets 中有一些示例http://php.net/manual/en/function.time.php

【讨论】:

    【解决方案2】:

    time() 以 Unix 时间戳格式返回当前时间,您可能已经知道了。 $firstdate 也必须是这种格式,否则应该使用strtotime() PHP 函数进行转换。

    您使用的解决方案是错误的 - 这不适用于更长的差异等。您必须进行一些额外的计算,将秒数的差异转换为通知天、小时和分钟的差异。

    编辑:

    您可以在 Kohana 3 PHP 框架(span() 方法)中找到示例和正确的解决方案:http://kohanaframework.org/3.1/guide/api/Kohana_Date#span

    【讨论】:

      【解决方案3】:

      你可以试试here on php.net找到的函数。

      【讨论】:

        猜你喜欢
        • 2013-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-09
        • 1970-01-01
        • 2019-02-27
        • 1970-01-01
        相关资源
        最近更新 更多