ID: 33871 Updated by: [EMAIL PROTECTED] Reported By: jeremy at techtrav dot com Status: Assigned Bug Type: Date/time related Operating System: Windows XP Apache 2 PHP Version: 5.1.0b3 Assigned To: derick New Comment:
That function is only there in the snapshots, please try that instead. http://snaps.php.net (and pick latest cvs (5.1-dev) there). Previous Comments: ------------------------------------------------------------------------ [2005-08-04 16:53:03] [EMAIL PROTECTED] Now, if we can find a way how PHP can guess the correct timezone from your windows box (like it can do on most unices) that would be nice - but I think it's quite impossible. BTW, if you use error_reporting(E_ALL) you'd have gotten a warning about this... ------------------------------------------------------------------------ [2005-08-04 16:51:34] jeremy at techtrav dot com I tried adding that line to the top of my code. I am not familar with that function nor do I find it in the documentation. I get a fatal error: Fatal error: Call to undefined function date_default_timezone_set() when I run this script: date_default_timezone_set("America/New_York"); echo date('r', (strtotime('oct 25')+(86400*6))); I would agree with you in your conclusion though that it would appear that PHP 5.1.X is not reading the timezone of the local machine. ------------------------------------------------------------------------ [2005-08-04 16:44:09] jeremy at techtrav dot com Oh now I understand Czimi comment. If PHP 5.1.X is not looking at the time zone on my XP box then it is not going to know that Oct 30th is daylight savings time. I think Czimi is probably right, PHP 5.1.X is not looking at the time zone my my XP box. ------------------------------------------------------------------------ [2005-08-04 16:43:09] [EMAIL PROTECTED] Look at the formatted date: Mon, 31 Oct 2005 00:00:00 +0000 It doesn't have a timezone offset, so it seems that "xczimi" is right. Does it help if you add: date_default_timezone_set("America/New_York") at the top of the script? ------------------------------------------------------------------------ [2005-08-04 16:32:54] jeremy at techtrav dot com well the problem comes when you cross the daylight savings time day of Oct 30th. Strtotime will handle the 25 hour day just great. Remebering there are 25 hours in Oct 30th is important. That is why when you run the following code in PHP 5.0.4 echo date('r', (strtotime('oct 25')+(86400*6))); you do get (which is right): Sun, 30 Oct 2005 23:00:00 -0600 an hour short of Oct 31st. However when you run that code in PHP 5.1.X you find that Oct 30th does not contain 25 hours. Mon, 31 Oct 2005 00:00:00 +0000 This difference will definitely screw up scripts that are particularly time sensitive, like my field of Travel. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/33871 -- Edit this bug report at http://bugs.php.net/?id=33871&edit=1