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