小时Zend的2个日期之间的差异

时间:2011-04-13 12:10:13

标签: php zend-framework

我正在使用zend框架,我想知道2个日期之间的小时差异。 我知道如何使用strtotime在核心php中完成它。

但是如果可能的话,我想在Zend中使用它。

Ex:这是我的日期时间格式的日期:

  

2011-04-13 23:00:00

     

2011-04-14 15:45:00

3 个答案:

答案 0 :(得分:4)

为什么你想在Zend中使用核心PHP来做这个功能?

只需使用核心PHP。

答案 1 :(得分:4)

Zend_Date中似乎有 sub() 方法:

  

sub($date, $part = null, $locale = null)
减去$part   $date来自$locale的语言区域   当前对象的日期。

使用Zend_Date::HOUR作为$ part应该可以解决问题,我想:

$num_month = $firstDate->sub($secondDate, Zend_Date::HOUR);


作为旁注:在使用strtotime()时,使用UNIX Timestamps重新呈现日期 - 这只能从1970年到2038年(至少在32位系统上)

使用DateTime类可能更明智,它允许人们操纵(虚拟)无限范围的日期。

答案 2 :(得分:0)

谢谢,我可以通过这种方式获得解决方案:

$firstDay = new Zend_Date('2011-04-13 23:00:00', 'YYYY-MM-DD h:i:s');

$lastDay = new Zend_Date('2011-04-14 15:45:00', 'YYYY-MM-DD h:i:s');

$diff = $lastDay->sub($firstDay)->toValue();

$days = ceil($diff/60/60);

最后我可以得到17的ceil值,但无法得到确切的差异(16h,45min)