如何计算使用PHP或Zend_Date的运算时间的流逝?(How to calculate time

2019-09-02 02:25发布

我试图创建一个显示分钟,小时或天以来已经过去了......现在的数量的视图助手。 我真的不知道该怎么做。 它看起来像比较工作的日期,但我不知道怎么去数。 这是我到目前为止有:

<?php

class Zend_View_Helper_RecentDate
{
    public function recentDate($datetime)
    {
        $date = new Zend_Date($datetime);

        switch ($date) {
            case($date->isEarlier(1, Zend_Date::HOUR)):
                $message = 'was minutes ago';
                break;
            case($date->isEarlier(24, Zend_Date::HOUR)):
                $message = 'was hours ago';
                break;
            case($date->isEarlier(48, Zend_Date::HOUR)):
                $message = 'Yesterday';
                break;
            default:
                $message = 'was days ago';
                break;
        }
        return $message;
    }
}

我想,以取代“被”与传递分钟/小时/天的实际数量。

Answer 1:

既然你已经在使用Zend框架,有一个TimeSince视图助手在ZYM框架 ,这是额外的ZF扩展和助手库。

TimeSince助手完成你想要做的基本上是什么:

Last updated <?= $this->timeSince($timestamp); ?> ago

将输出类似:

Last updated 8 hours ago


Answer 2:

$时间= sprintf的( “%d小时,%d分钟和%d秒\ n”,$ S /(1000 * 60 * 60),$ S /(1000 * 60),$ S);

其中$ s是秒

假设你的$日期时间是Unix时间戳,你可以得到$从MS (time() - $timestamp)

如果你想有一个完整的模糊时间戳的创造者看到: http://plugins.trac.wordpress.org/browser/splees-fuzzy-datetime/trunk/splees_fuzzy_datetime.php



Answer 3:

我发现Zend_Date的运算容易得多时间戳使用。 然后,如果你想(也许使用视图帮助做到这一点),格式化输出。

(这将是一个评论,如果我能)



文章来源: How to calculate time passed with PHP or Zend_Date?