Bug #13992: 31st of month causes date function to 'skip'
| From: | john at londonriverside dot co dot uk | 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