ID:               21966
 Comment by:       neilus at dcs dot kcl dot ac dot uk
 Reported By:      david at sxsw dot com
 Status:           Bogus
 Bug Type:         Date/time related
 Operating System: Gentoo Linux 1.4
 PHP Version:      4.2.2
 New Comment:

this is re-occurring in the 4.3 tests, so either the test or bug needs
to be fixed


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

[2004-04-04 07:32:18] john dot j at fphoenix dot co dot uk

This bug does exist in 4.3.4 running on Mac OS X 
10.2.8.  It is directly related to the daylight saving 
time changeover date (28 March 2004 in the UK).  I 
recreate it using:

     <?php 
    {
        echo '<p>27/3/04 = ' . 
strval(mktime(00,0,0,3,27,2004)) . '</p>';   // 
1080345600
        echo '<p>28/3/04 = ' . 
strval(mktime(0,0,0,3,28,2004)) . '</p>';   // -3662  - 
should be 108042840
        echo '<p>28/3/04 = ' . 
strval(mktime(2,0,0,3,28,2004)) . '</p>';   // 
1080435600
        echo '<p>29/3/04 = ' . 
strval(mktime(0,0,0,3,29,2004)) . '</p>';   // 
1080514800 
        echo '<p>30/3/04 = ' . 
strval(mktime(0,0,0,3,30,2004)) . '</p>';   // 
1080601200
    } ?>

On the changeover date, times between midnight and 2 am 
exhibit the bug.  Times from 2 am onwards are correct.

I haven't checked, but I would bet the date in the 
original bug report was the DST changeover date for the 
locale of the person who submitted it.

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

[2003-01-31 18:40:55] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Reason explained in previous comment.

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

[2003-01-30 13:26:11] michael dot mauch at gmx dot de

See what you get if you use the "r" format:

# php -r 'for($x=1; $x<=3; $x++) {
    echo "$x = ".date("r", mktime(0,0,0,$x))."\n"; }'
1 = Thu, 30 Jan 2003 00:00:00 +0100
2 = Sun,  2 Mar 2003 00:00:00 +0100
3 = Sun, 30 Mar 2003 00:00:00 +0100

So apparently the "February, 30th" is turned into its normal
representation by mktime(). Although that doesn't seem to be
documented, I think that's a feature, because it helps doing date
calculations.

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

[2003-01-30 12:40:30] david at sxsw dot com

#!/usr/bin/php -q
<?
system("cat test");
for($x=1; $x<=12; $x++) {
    echo "$x = ".date("m", mktime(0,0,0,$x))."\n";
}
?>
1 = 01
2 = 03
3 = 03
4 = 04
5 = 05
6 = 06
7 = 07
8 = 08
9 = 09
10 = 10
11 = 11
12 = 12


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


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

Reply via email to