ID:               27533
 Comment by:       peter at nuvek dot com
 Reported By:      scottmacvicar at ntlworld dot com
 Status:           Closed
 Bug Type:         Date/time related
 Operating System: *
 PHP Version:      4CVS, 5CVS (2004-03-11)
 New Comment:

I did some testing on a few machines I have here are the results



Broken:

#1

libc-2.3.2.so 

Linux version 2.4.22-28mdk ([EMAIL PROTECTED]) (gcc
version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)) #1 Thu Feb 19 22:28:14
MST 2004

PHP 5.0.0RC1 (cli) 

#2

libc-2.3.2.so 

Linux version 2.4.22 (root@(none)) (gcc version 3.3) #2 SMP Tue Feb 10
02:15:52 MST 2004

PHP 5.0.0RC1 (cli) 





Works:

#1

libc-2.3.2.so 

Linux version 2.4.22-28mdk ([EMAIL PROTECTED]) (gcc
version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)) #1 Thu Feb 19 22:28:14
MST 2004

PHP 4.3.4 (cli) 

#2

libc-2.2.4.so

Linux version 2.4.23 (root@(none)) (gcc version 2.95.3 20010315
(release)) #4 SMP Mon Dec 15 08:37:53 MST 2003

PHP 4.0.6





I hope this helps



Also of notem I have noticed that 

<?php

$date1 = mktime( 0, 0, 0, 4, 1, 2001 );

$date2 = mktime( 0, 0, 0, 4, 1, 2001 ) - 1;

print date("Y-m-d H:i:s",$date1)."\n";

print date("Y-m-d H:i:s",$date2)."\n";

?>



should produce:

2001-04-01 00:00:00

2001-03-31 23:59:59



But I get:

2001-04-01 01:00:00

2001-04-01 00:59:59



With the same sucess and failure as the above example


Previous Comments:
------------------------------------------------------------------------

[2004-04-07 11:00:57] [EMAIL PROTECTED]

Please answer all questions, and additionally: which glibc do you have?

------------------------------------------------------------------------

[2004-04-07 09:38:22] peter at rukavina dot net

RedHat Enterprise Linux 3

Kernel 2.4.21-9.0.1.EL

PHP 4.3.5

------------------------------------------------------------------------

[2004-04-07 03:09:09] [EMAIL PROTECTED]

It works fine for me, what operating system is this on? And in what
timezone are you?



regards,

Derick

------------------------------------------------------------------------

[2004-04-06 17:28:05] peter at rukavina dot net

The patch doesn't seem to have solved the problem.  Or perhaps it's
introduced a new one?  Here's a simnple test case that calculates the
GMT timestamp using gmmktime, then echos it back using gmstrftime,
which should return the SAME time:



for ($day = 2 ; $day <= 6 ; $day++) {

    $datestamp = gmmktime(1,15,0,4,$day,2004);

    print gmstrftime("%Y-%m-%d %H:%M",$datestamp) . "\n";

}



Expected Result:

2004-04-02 01:15

2004-04-03 01:15

2004-04-04 01:15

2004-04-05 01:15

2004-04-06 01:15



Actual Result:

2004-04-02 01:15

2004-04-03 01:15

2004-04-04 03:15

2004-04-05 01:15

2004-04-06 01:15 



This only occurs when the datestamp is between 1:00 a.m. and 1:59 a.m.
GMT on the day where DST takes effect.

------------------------------------------------------------------------

[2004-03-12 12:23:31] [EMAIL PROTECTED]

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.



------------------------------------------------------------------------

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/27533

-- 
Edit this bug report at http://bugs.php.net/?id=27533&edit=1

Reply via email to