Código PHP:
<?php
$mes = $HTTP_GET_VARS["m"];
$anho = $HTTP_GET_VARS["a"];
if($mes<1) $mes+=12;
else if($mes>12)$mes-=12;
$fecha = getdate();
$mes_actual = $fecha["mon"];
$anho_actual = $fecha["year"];
if($mes_actual == $mes && $anho_actual == $anho)$dia_actual =
$fecha["mday"];
else $dia_actual = 0;
$tmstp_dia_uno = mktime(0,0,0, $mes, 1, $anho);
$fecha = getdate($tmstp_dia_uno);
$comenzar = $fecha["wday"]+1;
$vec_dias = array(31,28,31,30,31,30,31,31,30,31,30,31);
$dias_mes = $vec_dias[$mes-1];
if($mes == 2 && $anho%4 ==0)
$dias_mes = 29;
$celda = 1;
$dia_mes = 1;
echo "<table border=\"1\" cellspacing=\"0\" align=\"center\">\n";
echo "<tr align=\"center\"><td colspan=\"7\">\n";
echo "<a href=\"calendario.php?m=$mes&a=".($anho-1)."\">◀</a> 200";
if(empty($anho))
echo "0";
echo $anho;
echo "<a href=\"calendario.php?m=$mes&a=".($anho+1)."\">▶</a><br>";
$anho_prox = $anho;
$anho_ant = $anho;
if($mes == 12)$anho_prox = $anho+1;
else if($mes == 1)$anho_ant = $anho-1;
echo "<a href=\"calendario.php?m=".($mes-1)."&a=$anho_ant\">◀</a>";
echo "<b>" .nombre_mes($mes). "</b>";
echo "<a href=\"calendario.php?m=".($mes+1)."&a=$anho_prox\">▶</a>";
echo "</td></tr>\n";
echo "<tr align=\"center\"><td>D<td>L<td>M<td>M<td>J<td>V<td>S</tr>\n";
for($semana = 1; $semana<=6&&$dia_mes<=$dias_mes; $semana++)
{
echo "<tr align=\"center\">\n";
for($dia_semana = 1;$dia_semana<=7;$dia_semana++)
{
echo "<td>";
if(($celda == $comenzar||$dia_mes>1) && $dia_mes<=$dias_mes)
{
if($dia_mes == $dia_actual) echo "<b>";
echo "<a href=\"eventos.php?f=".mktime(0,0,0,$mes,$dia_mes,$anho)."\"><font face=\"verdana\" size=\"-2\">";
echo $dia_mes;
echo "</a></font>";
if($dia_mes == $dia_actual) echo "</b>";
$dia_mes++;
}
else echo " ";
echo "</td>\n";
$celda++;
}
echo "</tr>\n";
}
echo "</table>";
function nombre_mes($m)
{
$mes = array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
$m--;
return $mes[$m];
}
?>