#26009 [NEW]: mktime calc fails on specific dates

From: Date: Mon, 27 Oct 2003 19:43:51 +0000
Subject: #26009 [NEW]: mktime calc fails on specific dates
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-49535@lists.php.net to get a copy of this message
From: nic at nicskitt dot co dot uk Operating system: Windows XP Pro SP1, IIS, ISAPI PHP version: 4.3.3 PHP Bug Type: Date/time related Bug description: mktime calc fails on specific dates Description: ------------ When performing the while loop shown in the code mktime function produces duplicate results on the following specific dates (2004-03-27) and (2003-03-29) and (2002-03-30). They all seem to be in the month of march. This starts afer 2001 and I havent yet checked how far it continues. Because mktime is suppose to handle illegal days and therefore recalcuate the whole date I cant see why this would happen. Reproduce code: --------------- $starting = strtotime("2001-01-01"); $ending = strtotime("2005-01-01"); $newdate = $starting; $day = date("d",$newdate); $month = date("m",$newdate); $year = date("Y",$newdate); echo("Starting->".date("Y-m-d",$newdate)."<br>"); echo("Ending->".date("Y-m-d",$ending)."<br>"); $x = 0; while($newdate<$ending){ $newdate = mktime(0,0,0,$month,($day+$x),$year); $fulldate = date("Y-m-d",$newdate); echo($fulldate."<br>"); $x ++; } Expected result: ---------------- Relevant Areas... 2002-03-29 2002-03-30 <- just one as you would expect 2002-04-01 2002-04-02 2002-04-03 ...skip output... 2003-03-27 2003-03-28 2003-03-29 <- Just one as you would expect 2003-03-31 2003-04-01 and so on... Actual result: -------------- Relevant Areas... 2002-03-28 2002-03-29 2002-03-30 2002-03-30 <- Duplicate Date 2002-04-01 2002-04-02 ...skip output... 2003-03-27 2003-03-28 2003-03-29 2003-03-29 <- Duplicate Date 2003-03-31 2003-04-01 -- Edit bug report at http://bugs.php.net/?id=26009&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=26009&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=26009&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=26009&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=26009&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=26009&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=26009&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=26009&r=support Expected behavior: http://bugs.php.net/fix.php?id=26009&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=26009&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=26009&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=26009&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=26009&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=26009&r=dst IIS Stability: http://bugs.php.net/fix.php?id=26009&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=26009&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=26009&r=float

« previous php.bugs (#49535) next »