我遇到过冬/夏时间的日期问题..请参阅示例
$pickUpDate = '2011-10-23';
$dropOffDate = '2011-10-31';
$pickUpTime = '09:00';
$dropOffTime = '09:00';
Zend_Date::setOptions(array('fix_dst' => false));
Zend_Date::setOptions(array('fix_dst' => false));
$pickUpDateTime = new Zend_Date ( $pickUpDate);
$pickUpDateTime->setTime ( $pickUpTime );
$dropOffDateTime = new Zend_Date ( $dropOffDate);
$dropOffDateTime->setTime ( $dropOffTime );
$dateDiff = ceil(($dropOffDateTime->getTimestamp ( ) - $pickUpDateTime->getTimestamp ( )) / (3600 * 24));
echo $dateDiff;
Echo产生9 ...我的时区是伦敦,但我认为fix_dst应该解决夏季问题?我还尝试将时区设置为GMT和UTC,但效果相同吗?任何想法?
答案 0 :(得分:0)
时间戳没有时区信息。你应该避免在这个用例中使用它们。
您可以在两个日期之间尝试使用Zend_Date::sub方法。这将照顾DST。
请同时查看您的时区,因为我从上面的链接中读到了:
如果您的实际时区在 Zend_Date的实例设置为UTC或 GMT选项'fix_dst'不会 因为这两个时区使用了 不适用于夏令时。