CakePHP timehelper具有最高的准确性

时间:2013-07-01 11:04:01

标签: cakephp time cakephp-2.0

我正在尝试使用CakePHP的TimeHelper

假设我有这个日期:Tue, 07 Jun 2011 10:53:31 GMT

它的'纪元时间是:1307444011

我现在需要输出差异输出,例如:2 years, 24 days, 15 hours, 27 minutes and 43 seconds

我试过了:

$userCreatedTimeStr = $this->Time->timeAgoInWords(
       1307444011, array(
        'end' => '+10 year',
        'accuracy' => array('second' => 'second')
    )
);

但是这段代码给出了2 years ago

我该如何解决这个问题?

编辑:一些测试代码是这样的: http://apigen.juzna.cz/doc/cakephp/cakephp/source-class-CakeTimeTest.html#189-229

似乎使用核心PHP函数是强制性的,而不是TimeHelper。

How to calculate the difference between two dates using PHP?

How to get time difference in minutes in PHP

1 个答案:

答案 0 :(得分:3)

尝试在options数组中添加'format'选项?

E.g:

$userCreatedTimeStr = $this->Time->timeAgoInWords(
       1307444011, array(
        'end' => '+10 year',
        'format' => 'F jS, Y',
        'accuracy' => array('second' => 'second')
    )
);

编辑:CakePHP限制timeAgoInWords方法如下:

  

如果差异为一周或更长时间,则最低准确度为日

来源:http://api.cakephp.org/2.3/class-CakeTime.html#_timeAgoInWords

我想你尝试做的事情是不可能使用这种方法,至少在版本2.3中。