Bug #13992: 31st of month causes date function to 'skip'

From: Date: Thu, 08 Nov 2001 18:36:37 +0000
Subject: Bug #13992: 31st of month causes date function to 'skip'
Groups: php.dev 
Request: Send a blank email to php-dev+get-69816@lists.php.net to get a copy of this message
From: john@londonriverside.co.uk Operating system: HP PHP version: 4.0.4 PHP Bug Type: Date/time related Bug description: 31st of month causes date function to 'skip' See my web page on 31st of a month and notice how the months and/or days repeat: eg January, January, March, March etc. www.londonriverside.co.uk/datebug.php This is the code on the server: <html> <head> </head> <body> //Select FromDay print ("<select name=\"FromDay\">"); for ($x=1; $x<=31; $x++) { if (sprintf("%02d", date(d, mktime(0,0,0,1,$x,date("Y")))) == date(d) AND !ISSET($FromDay)) { echo "<option value=\"" . sprintf("%02d", date(d, mktime(0,0,0,1,$x,date("Y")))) . "\" selected>" . date(d, mktime(0,0,0,1,$x,date("Y"))) . "</option>\n"; } elseif (sprintf("%02d", date(d, mktime(0,0,0,1,$x,date("Y")))) <> $FromDay) { echo "<option value=\"" . sprintf("%02d", date(d, mktime(0,0,0,1,$x,date("Y")))) . "\">" . date(d , mktime(0,0,0,1,$x,date("Y"))) . "</option>\n"; } else { echo "<option value=\"" . sprintf("%02d", date(d, mktime(0,0,0,1,$x,date("Y")))) . "\" selected>" . date(d, mktime(0,0,0,1,$x,date("Y"))) . "</option>\n"; } } print ("</select>"); //Select FromMonth print ("</td>\n<td width=50><font face=verdana size=2>Month</font></td>\n<td width=61>"); print ("<select name=\"FromMonth\">"); for ($x=1; $x<=12; $x++) { if (sprintf("%02d", date(m, mktime(0,0,0,$x,date("d"),date("Y")))) == date(m) AND !ISSET($FromMonth)) { echo "<option value=\"" . sprintf("%02d", date(m, mktime(0,0,0,$x,date("d"),date("Y")))) . "\" selected>" . date(M , mktime(0,0,0,$x,date("d"),date("Y"))) . "</option>\n"; } elseif (sprintf("%02d", date(m, mktime(0,0,0,$x,date("d"),date("Y")))) <> $FromMonth) { echo "<option value=\"" . sprintf("%02d", date(m, mktime(0,0,0,$x,date("d"),date("Y")))) . "\">" . date(M, mktime(0,0,0,$x,date("d"),date("Y"))) . "</option>\n"; } else { echo "<option value=\"" . sprintf("%02d", date(m, mktime(0,0,0,$x,date("d"),date("Y")))) . "\" selected>" . date(M , mktime(0,0,0,$x,date("d"),date("Y"))) . "</option>\n"; } } print ("</select>"); ?> </body> </html> Regards, John -- Edit bug report at: http://bugs.php.net/?id=13992&edit=1

« previous php.dev (#69816) next »