Created
May 13, 2012 20:48
-
-
Save alrik11es/2690112 to your computer and use it in GitHub Desktop.
Dibujado de un calendario en PHP del año indicado.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function drawCalendar($year = null){ | |
$cal = ''; | |
$month_name = array('','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'); | |
if($year == null) | |
$year = date('Y'); | |
for($month = 1; $month<=12; $month++){ | |
$dia = 1; | |
$time = mktime(0, 0, 0, $month, $dia, $year); | |
$time_t = $time; | |
$cal .= '<table class="month">'; | |
$cal .= '<tr><td colspan="9" class="month-title"><b>'.$month_name[$month].'</b></td></tr>'; | |
$cal .= '<tr><td colspan="2"></td><td>L</td><td>M</td><td>X</td><td>J</td><td>V</td><td>S</td><td>D</td></tr>'; | |
for($fila=1; $fila<=6; $fila++){ | |
// Quito las semanas vacías en la medida de lo posible | |
if($dia < date('t',$time)){ | |
$cal .= '<tr>'; | |
$cal .= '<td class="weeknum">'.date('W',$time_t).'ª</td><td style="width: 5px;"></td>'; | |
if($fila == 1) | |
$primera_columna_start = date('N', $time); | |
// Días en la semana | |
for($columna=1; $columna<=7; $columna++){ | |
// Si la columna es menor que la primera columna correspondiente al día del mes no la pintes | |
if($columna < $primera_columna_start && $fila == 1) | |
$cal .= '<td></td>'; | |
else | |
if($dia <= date('t', $time)){ | |
// Estilo del fin de semana | |
if(date('N', $time_t)>=6) | |
$weekend = ' class="weekend"'; | |
else | |
$weekend = ''; | |
// Indico el día | |
$cal .= '<td'.$weekend.'>'.$dia.'</td>'; | |
// Sumo un día mas | |
$dia++; | |
$time_t = mktime(0, 0, 0, $month, $dia, $year); | |
} | |
} | |
$cal .= '</tr>'; | |
} | |
} | |
$cal .= '</table>'; | |
} | |
return $cal; | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment