ID: 36688
Updated by: [EMAIL PROTECTED]
Reported By: phil at adigital dot com dot mx
-Status: No Feedback
+Status: Bogus
Bug Type: Date/time related
Operating System: Win XP and Linux FC4
PHP Version: 5.1.2
New Comment:
The United States changed Daylight Savings Time start/end:
<= 2006: 1st Sunday in April at 2:00 am
>= 2007: 2nd Sunday in March at 2:00 am
TEST:
-----
<?php
//$t1 = strtotime('2006-03-05 02:30:00'); // 1141543800
$t1 = strtotime('2007-03-04 01:30:00'); // 1172989800
//$t2 = strtotime('2006-03-05 01:30:00'); // 1141540200
$t2 = strtotime('2007-03-04 02:30:00'); // 1172993400
$step = 60 * 60 * 24 * 7; // Increment one week
for ($i = 0; $i < 6; $i++) {
echo $t1 . ' = ' . date('r', $t1) . "\n";
echo $t2 . ' = ' . date('r', $t2) . "\n";
echo "---\n";
$t1 = $t1 + $step;
$t2 = $t2 + $step;
}
?>
OUTPUT:
-------
1172989800 = Sun, 04 Mar 2007 01:30:00 -0500
1172993400 = Sun, 04 Mar 2007 02:30:00 -0500
---
1173594600 = Sun, 11 Mar 2007 01:30:00 -0500
1173598200 = Sun, 11 Mar 2007 03:30:00 -0400
---
1174199400 = Sun, 18 Mar 2007 02:30:00 -0400
1174203000 = Sun, 18 Mar 2007 03:30:00 -0400
---
1174804200 = Sun, 25 Mar 2007 02:30:00 -0400
1174807800 = Sun, 25 Mar 2007 03:30:00 -0400
---
1175409000 = Sun, 01 Apr 2007 02:30:00 -0400
1175412600 = Sun, 01 Apr 2007 03:30:00 -0400
---
1176013800 = Sun, 08 Apr 2007 02:30:00 -0400
1176017400 = Sun, 08 Apr 2007 03:30:00 -0400
---
Previous Comments:
------------------------------------------------------------------------
[2006-10-30 16:57:34] gxt3 at dowling dot edu
I can confirm the bug of date() shifting one hour. I use
date in a calendar app :
date("d",(mktime(0,0,0,$month,$day,$year)+$m*24*60*60))
where m goes from 0 to 1 and $month, $day, $year are given
by the user. So it is either mktime or date problem.
for the last week of November the timestamps returned are:
27 Nov: 1161921600
28 Nov: 1162008000
29 Nov: 1162094400
30 Nov: 1162180800 (Bug here it is 23:00PM of 29th yet )
31 Nov: 1162267200 (Bug still here )
01 Oct: 1162353600 (Bug still present)
02 Oct: 1162440000 (Same here)
----
The following week (my weeks start on Friday) the times are
back to normal.
The system is slackware 10.2 and I have not seen this bug in
the past year. This is the first week that it occurs.
------------------------------------------------------------------------
[2006-03-19 01:00:04] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2006-03-11 16:52:51] [EMAIL PROTECTED]
What timezone did you configure your server to use? (date.timezone
php.ini setting).
------------------------------------------------------------------------
[2006-03-10 23:48:22] phil at adigital dot com dot mx
Description:
------------
date("Y-m-d H:i:s", 1175403600);
shows: 2007/4/1 00:00:00
Should be: 2007/3/1 23:00:00
the hour is shift 1 hour in PHP from march/11/2007 to april/1/2007 (20
days of 1 hour diff !)
The same problem repeat 2008, 2009, 2010, 2011, etc, but the beginning
of problem is +/- 5 days and ending problem too +/- 5 days
It seems the problem is not occuring before 3/1/2007
I thought first it was maybe a daylight savings problem
BUT:
- it happens on our redhat 8 servers in US (ev1), local servers (FC4)
AND windows XP
- the start and end date of the problem is quite random in a period ,
daylights are quite fixed
- It doesnt happen before 3/1/2007
SO i guess it's a bad bug somewhere
the result *must* be same as unix_timestamp C++ function no ?
It is not
Thx !
Reproduce code:
---------------
print date("Y-m-d H:i:s", 1175403600); // bad +1 hour
print date("Y-m-d H:i:s", 1238417200); // bad +1 hour
print mktime(0,0,0,4,1,2007);
Expected result:
----------------
2007/3/1 23:00:00
2009-03-30 06:46:40
1175407200
Actual result:
--------------
2007/4/1 00:00:00
2009-03-30 07:46:40
1175403600
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=36688&edit=1