Mi solución para el ejercicio CU00830B del curso básico de programación PHP:
<html>
<head>
<meta charset="UTF-8"/>
<meta lang="es"/>
<link type="text/css" rel="stylesheet" href="calendar.css"/>
</head>
<body>
<?php
define(DIAENSEGUNDOS,86400); //Defino una constante
$time = time();
$vecMeses = array("Enero","Febrero","Marzo","Abril",
"Mayo","Junio","Julio","Agosto","Septiembre","Ocubre","Noviembre","Diciembre");
$diasDeLaSemana = array("Lunes","Martes","Miercoles","Jueves","Viernes", "Sabado", "Domingo");
$primerDiaMes = null; //Inicializo la variable
$hora = date(h,$time) * 3600; //Hora actual convertida a segundos
$min = date(i,$time) *60; //min Actuales convertidos a segundos
$seg = date(s,$time); //Segundos actuales
$time = ($time - $hora - $min - $seg); //Lo llevo a las 00:00:00 hs del dia actual
echo "<table> <th>Mes de ".$vecMeses[date(n,$time)-1]."</th>";
echo "<tr>";
for ($i = 0; $i < count($diasDeLaSemana); $i++){
echo "<td>".$diasDeLaSemana[$i]."</td>";
}
echo "</tr>";
//Si el dia no es el primero del mes
if (date(d,$time) > 1){
$time = $time - ((date ( d,$time )-1)*DIAENSEGUNDOS);
}
echo "<tr>"; //Imprimo el table row correspondiente a la primer fila
$primerDiaMes = date(l,$time); //Almaceno el primer dia del mes actual representando el dia completo
switch ($primerDiaMes){ //Acomodo el dia 1 en la columna correspondiente
case Tuesday:echo "<td>".date ( n,$time )."</td>";
break;
case Wednesday: for ($i = 0; $i < 2; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
case Thursday: for ($i = 0; $i < 3; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
case Friday: for ($i = 0; $i < 4; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
case Saturday: for ($i = 0; $i <5; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
case Sunday: for ($i = 0; $i < 6; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
}
echo "</tr>";
while ((date ( t,$time ) >= (date ( d,$time ))) && (date ( d,$time ) != 31)){
echo "<tr>";
$time = $time + DIAENSEGUNDOS; //avanzo al siguiente dia
while (((date ( l,$time ) <> Sunday)) && (date(d,$time) != 31)){
echo "<td>".date ( d,$time )."</td>";
$time = $time + DIAENSEGUNDOS;
}
echo "<td>".date ( d,$time )."</td>";
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
Pero no me toma el css:
table{
align-items: center;
text-align: center;
width: 600px;
border-width: 1px;
}
table .th{
position: center;
}
Alguna idea? Gracias.