gpt4 book ai didi

zend-framework - Zend_Date : wrong results on DST change day

转载 作者:行者123 更新时间:2023-12-04 04:31:33 25 4
gpt4 key购买 nike

“2012 年 3 月 25 日”是捷克共和国时间从凌晨 02:00 更改为凌晨 03:00 的日期。在那一天,我网站上的一个功能停止正常工作,客户提示等等。 挖掘了几个小时后,我发现那天 Zend_Date 表现得很奇怪:

#!/usr/bin/env php
<?php

include 'Zend/Date.php';

date_default_timezone_set('Europe/Prague');
shell_exec('sudo date --set="25 Mar 2012 12:00:00"');

$date = new Zend_Date();
$date->set('00:01:00', Zend_Date::TIMES);
$startDate = $date->get(Zend_Date::TIMESTAMP);
echo 'start date: ' . date("j.n.Y H:i", $startDate) . PHP_EOL;

$date->set('23:59:00', Zend_Date::TIMES);
$endDate = $date->get(Zend_Date::TIMESTAMP);
echo 'end date: ' . date("j.n.Y H:i", $endDate) . PHP_EOL;

这输出:
start date: 24.3.2012 23:01
end date: 24.3.2012 23:59

白天休息。

如果我将日期更改为“2012 年 3 月 26 日 12:00:00”,它会正确输出:
start date: 26.3.2012 00:01
end date: 26.3.2012 23:59

使用 mktime 而不是 Zend_Date 在这两种情况下都能正常工作。它是 Zend_Date 中的错误吗?我想是的,所以我已经发布了一个错误报告 http://framework.zend.com/issues/browse/ZF-12121 .但也许我错过了一些明显的东西?

最佳答案

我刚刚在堆栈溢出时发现了这个,它完美地解决了我的问题(和你的一样)

Bug in Zend_Date (back in time)

祝你好运

关于zend-framework - Zend_Date : wrong results on DST change day,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com