泽西日期和夏季

时间:2011-05-28 20:14:56

标签: zend-framework zend-date

我遇到过冬/夏时间的日期问题..请参阅示例

        $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,但效果相同吗?任何想法?

1 个答案:

答案 0 :(得分:0)

时间戳没有时区信息。你应该避免在这个用例中使用它们。

您可以在两个日期之间尝试使用Zend_Date::sub方法。这将照顾DST。

请同时查看您的时区,因为我从上面的链接中读到了:

  

如果您的实际时区在   Zend_Date的实例设置为UTC或   GMT选项'fix_dst'不会   因为这两个时区使用了   不适用于夏令时。