I'm trying to troubleshoot and solve this problem: the server I'm working on (php 5.2.9 on Linux), has the correct local time (America/Buenos_Aires):
user@server [/home/site/public_html]$ date Mon Nov 1 17:11:14 ART 2010
php.ini is set with
date.timezone = "America/Buenos_Aires"
I also tried to set the timezone directly in the script with
<?php ini_set('display_errors', true); error_reporting(E_ALL|E_STRICT|E_NOTICE); //date_default_timezone_set("America/Buenos_Aires"); //echo date_default_timezone_get(), "<br>"; echo "ini: ", ini_get('date.timezone'), "<br>"; $now = date("H:i:s T I"); $nowdate = date("Y-m-d"); echo $nowdate." ".$now; ?>
but to no avail, the result is
ini: America/Buenos_Aires 2010-11-01 18:11:14 ARST 1
when it should read
17:11 (It's consistently one hour ahead). All I've found here and on the web pointed to
- date_default_timezone_set (which I tried)
- setting date.timezone in php.ini (which it is set)
- confusing server time with client time (which I'm not).
EDIT: As suggested, I checked and as you can see in the code, PHP thinks it should be applying DST, and Argentina decided to not apply it this year. Any option besides waiting for a patch?
EDIT 2: I tried dumping the timezones transition as suggested. I got the following:
The timezone America/Buenos_Aires switches to standard time on 20 Mar 2011 @ 02:00. The new GMT offset will be: -10800 (ART)
There was a question a few days back that suggested that PHP hasn't yet got wind of the fact that Argentina got rid of DST only this year. It seems like this decision hasn't made it into the code base yet. (But it was not confirmed, so it's not 100% clear whether this was it.)
Maybe try dumping your time zones the same way to see whether that applies to your PHP version, too.
Update: This indeed seems to be the problem. The best solution I can think of is to use an offset in the time zone, e.g.
Somebody should file a bug with bugs.php.net, there doesn't seem to be one for this.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki