我有个问题。。我在PHP上处理时区,但在智利的情况下,我面临着问题。对于智利,CLT通常适用,CLST适用于夏令时,PHP代码为美国/圣地亚哥。但它返回到目前没有夏令时,但实际上目前有夏令时。。有人能帮忙吗?谢谢,
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
您所在地区的夏令时将于3月12日结束。当然,我们都知道夏令时根据http://www.timeanddate.com/news/time/chile-longer-dst-2012.html,但PHP并不知道这一点。
我也遇到了同样的问题。更新时区b对我有效。
转到:https://pecl.php.net/package/timezonedb
对于Widnows:下载最新版本的dll,复制到"ext"目录中。编辑php.ini并将其放在下面一行:
extension=php_timezonedb.dll
对于Linux:您可以使用:
pecl安装时区为
并且在php.ini中放入:
extension=php_timezonedb.so