ID:               20382
 Comment by:       nickj-phpbugs at nickj dot org
 Reported By:      nickj-phpbugs at nickj dot org
 Status:           Feedback
 Bug Type:         Date/time related
 Operating System: *
 PHP Version:      4CVS, 5CVS
 New Comment:

How's this for a short and simple test script?



Applies strtotime() to every day between 1970 and 2037, and gives a
list of everything that looks wrong.



======================================================

<?php

$request_day = "Monday";

for ($i=1; ; $i++) {

    // start at year 1970, bail out at year 2038

    $tStamp = mktime (17,17,17,1,$i,1970);

    if (date("Y", $tStamp) == 2038) break;

    // request a day, check what we got, complain if differs

    $strtotime_timestamp = strtotime ($request_day, $tStamp);

    $result_day = date("l", $strtotime_timestamp);

    if ($result_day != $request_day)

        print "strtotime wrong on: " . date("j-M-Y", $tStamp) . 

               " - gave a $result_day, not a $request_day.\n"; 

}

?>


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

[2004-04-08 07:00:17] [EMAIL PROTECTED]

I'm pretty sure the script is buggy. Please give us a test case for ONE
date that is wrong, and comment your code properly too.

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

[2004-04-08 04:25:55] [EMAIL PROTECTED]

Can you please give a simpler test? (I somehow have a feeling your
script is buggy, not PHP) 



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

[2004-04-08 01:39:23] nickj-phpbugs at nickj dot org

It appears that this problem has not been resolved.



I've downloaded the latest Stable Win32 package snapshot from
http://snaps.php.net/ , in particular this one:
http://snaps.php.net/win32/php4-win32-STABLE-200404080430.zip [I.e.
from roughly 5 after this bug was closed]



Then I've run the test script on it from an above comment. 



This produces the following results:



==========================================================

I:\new downloads\just downloaded\php4-win32-STABLE-200404080430>php
bug-20382-test.php

Content-type: text/html

X-Powered-By: PHP/4.3.6RC3-dev



Discrepancy for 2002-3-26 - results were 2002-3-31 vs 2002-4-1

Discrepancy for 2002-3-27 - results were 2002-3-31 vs 2002-4-1

Discrepancy for 2002-3-28 - results were 2002-3-31 vs 2002-4-1

Discrepancy for 2002-3-29 - results were 2002-3-31 vs 2002-4-1

Discrepancy for 2002-3-30 - results were 2002-3-31 vs 2002-4-1

Discrepancy for 2002-3-31 - results were 2002-3-31 vs 2002-4-1

Discrepancy for 2003-3-25 - results were 2003-3-30 vs 2003-3-31

Discrepancy for 2003-3-26 - results were 2003-3-30 vs 2003-3-31

Discrepancy for 2003-3-27 - results were 2003-3-30 vs 2003-3-31

Discrepancy for 2003-3-28 - results were 2003-3-30 vs 2003-3-31

Discrepancy for 2003-3-29 - results were 2003-3-30 vs 2003-3-31

Discrepancy for 2003-3-30 - results were 2003-3-30 vs 2003-3-31

Discrepancy for 2004-3-23 - results were 2004-3-28 vs 2004-3-29

Discrepancy for 2004-3-24 - results were 2004-3-28 vs 2004-3-29

Discrepancy for 2004-3-25 - results were 2004-3-28 vs 2004-3-29

Discrepancy for 2004-3-26 - results were 2004-3-28 vs 2004-3-29

Discrepancy for 2004-3-27 - results were 2004-3-28 vs 2004-3-29

Discrepancy for 2004-3-28 - results were 2004-3-28 vs 2004-3-29

Discrepancy for 2005-3-22 - results were 2005-3-27 vs 2005-3-28

Discrepancy for 2005-3-23 - results were 2005-3-27 vs 2005-3-28

Discrepancy for 2005-3-24 - results were 2005-3-27 vs 2005-3-28

Discrepancy for 2005-3-25 - results were 2005-3-27 vs 2005-3-28

Discrepancy for 2005-3-26 - results were 2005-3-27 vs 2005-3-28

Discrepancy for 2005-3-27 - results were 2005-3-27 vs 2005-3-28

Discrepancy for 2006-3-21 - results were 2006-3-26 vs 2006-3-27

Discrepancy for 2006-3-22 - results were 2006-3-26 vs 2006-3-27

Discrepancy for 2006-3-23 - results were 2006-3-26 vs 2006-3-27

Discrepancy for 2006-3-24 - results were 2006-3-26 vs 2006-3-27

Discrepancy for 2006-3-25 - results were 2006-3-26 vs 2006-3-27

Discrepancy for 2006-3-26 - results were 2006-3-26 vs 2006-3-27

Discrepancy for 2007-3-20 - results were 2007-3-25 vs 2007-3-26

Discrepancy for 2007-3-21 - results were 2007-3-25 vs 2007-3-26

Discrepancy for 2007-3-22 - results were 2007-3-25 vs 2007-3-26

Discrepancy for 2007-3-23 - results were 2007-3-25 vs 2007-3-26

Discrepancy for 2007-3-24 - results were 2007-3-25 vs 2007-3-26

Discrepancy for 2007-3-25 - results were 2007-3-25 vs 2007-3-26

PHP version: 4.3.6RC3-dev<br>

==========================================================



What I would expect to happen is that there would not be any
discrepancies. The fact there are discrepancies indicates to me that
this problem is still unresolved.



I understand that there have been two date-related problems solved
recently (#27719 and #27780), but whatever updates were made for those
problems do not appear to have fixed this problem.

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

[2004-04-03 09:10:33] [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.



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

[2003-04-06 18:47:03] scottmacvicar at ntlworld dot com

This is a DST problem by the looks of it. The specific dates mentioned
are when DST takes effect which is the last sunday in March.

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

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

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

Reply via email to