ID: 33871
User updated by: jeremy at techtrav dot com
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:
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.
Previous Comments:
------------------------------------------------------------------------
[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.
------------------------------------------------------------------------
[2005-08-04 10:11:37] xczimi at sztaki dot hu
I unpacked both 5.0.4, 5.1.0b3 and the latest code to my Win XP box,
and tried the following in command line:
C:\devtool>php-5.1.0b3\php -r "echo date('r');"
Thu, 04 Aug 2005 08:05:40 +0000
C:\devtool>php-5.0.4\php -r "echo date('r');"
Thu, 04 Aug 2005 10:05:45 +0200
C:\devtool>php-latest\php -r "echo date('r');"
Thu, 04 Aug 2005 08:10:33 +0000
I think the oly problem is that php doesn't read the timezone of the
Operating system.
regards,
Czimi
------------------------------------------------------------------------
[2005-07-26 18:21:13] jeremy at techtrav dot com
I am Central Standard Time in MN and we are on Day light Savings time.
------------------------------------------------------------------------
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