我正在使用zend框架,我想知道2个日期之间的小时差异。 我知道如何使用strtotime在核心php中完成它。
但是如果可能的话,我想在Zend中使用它。
Ex:这是我的日期时间格式的日期:
2011-04-13 23:00:00
2011-04-14 15:45:00
答案 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)