在DST的情况下错误的智利时区

时间:2012-03-15 06:57:21

标签: php timezone

我有一个问题..我正在研究PHP的时区,但在智能的情况下,我面临着问题。对于智能CLT正常应用和CLST以防夏令时,PHP代码是America / Santiago。但它返回目前没有DST但实际上目前有DST ..任何人都可以帮助谢谢,

2 个答案:

答案 0 :(得分:2)

date_default_timezone_set ('America/Santiago');
$time = strtotime ('11 March 2011');

for ($i = 0; $i < 10; $i ++)
{
    echo "<br/>Current " . date ('e T c I', $time);
    $time += 60 * 60 * 24;
}

显示

Current America/Santiago CLST 2011-03-11T00:00:00-03:00 1
Current America/Santiago CLST 2011-03-12T00:00:00-03:00 1
Current America/Santiago CLT 2011-03-12T23:00:00-04:00 0
Current America/Santiago CLT 2011-03-13T23:00:00-04:00 0

您所在地区的DST将于3月12日结束。 当然,我们都知道DST已根据http://www.timeanddate.com/news/time/chile-longer-dst-2012.html延长,但PHP并不知道。

答案 1 :(得分:0)

我有同样的问题。更新timezonedb对我有用。

转到:https://pecl.php.net/package/timezonedb

对于Widnows: 下载最新版本的DLL,复制到&#34; ext&#34;目录。编辑php.ini并放在以下行:

延长= php_timezonedb.dll

对于Linux: 您可以使用:

pecl install timezonedb

并在php.ini中输入:

延长= php_timezonedb.so