beregning af dato i måned med skudår
Jeg har lavet en funktion der skal lave en kalender som vi kender den fra windows, hvor man også skal kunne bladre mellem månederne, problemet opstår når jeg kommer til februar måned i et skudår... Den får lige flyttet det hele en uges tid, se evt. www.gregersboye.dk/Kalender.php og klik frem til februar måned, i vil ved selvsyn se den flipper...Koden jeg har er:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
<title>Kalender</title>
<meta name="Generator" content="Stone's WebWriter 4" />
</head>
<body bgcolor="#415376" text="#FF8800" link="#FF8800" vlink="#FF8800" alink="#FF8800">
<?
$month = $_REQUEST["month"];
$aar = $_REQUEST["aar"];
$maaned = array(" ","Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec");
$ar=$aar;
if ($aar==""){
$ar = date('Y', time());
}
if ($month==""){
$month = date('n', time());
}
$prev=$month-1;
$naar="&aar=$ar";
$paar="&aar=$ar";
if ($prev =="0"){
$prev = "12";
$ar=$ar-1;
$paar = "&aar=$ar";
}
$this = $maaned[$month];
$next=$month+1;
if ($next==13){
$next=1;
$ar = $ar+1;
$naar = "&aar=$ar";
}
$days=date("t", mktime(0, 0, 0, $month, 1, $aar));
$b =1;
$next = "<a href='Kalender.php?month=$next$naar'>$maaned[$next]</a>";
$prev = "<a href='Kalender.php?month=$prev$paar'>$maaned[$prev]</a>";
echo "
<table border='0' cellspacing='3'>
<tr>
<td align='center' colspan='7'>$aar</td>
</tr>
<tr>
<td align='center' colspan='7'>$prev | $this | $next</td>
</tr>
<tr>
<td align='center'>M</td>
<td align='center'>T</td>
<td align='center'>O</td>
<td align='center'>T</td>
<td align='center'>F</td>
<td align='center'>L</td>
<td align='center'>S</td>
</tr><tr>";
$c=0;
$d=date("w", mktime(0, 0, 0, $month, 1, $aar));
for ($a=1;$a<$d;$a++){
echo "<td> </td>";
$b++;
}
for ($a=1;$a<=$days;$a++){
$mmand = date('n', time());
$dag = date('j', time());
$ear = date('Y', time());
if ($dag==$a && $mmand==$month && $aar == $ear){
echo "<td align='center' style='background-color:#c0c0c0;color:#808080;'>$a</td>";
}
else{
echo "<td align='center' style='background-color:#eeeeee;color:#000000;'>$a</td>";
}
if ($b==7){
echo "</tr><tr>";
$b=0;
}
$b++;
}
echo "</tr></table>";
?>
</body>
</html>
