Cálculo de los días de un mes en PHP

Valoración del artículo:
Realizamos una función que calcula el número de días de un mes en PHP. Que podremos utilizar en el calendario en PHP.
Publicado: 29/4/03
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
A continuación vamos a ver una sencilla manera de hacer una función en PHP que realiza el cálculo de los días de un mes. Es la función UltimoDia() que hemos utilizado ya en alguna ocasión para el manual de calendario en PHP.

Nota: La función UltimoDia() hace un cálculo de cuál es el último día de un mes. La hemos utilizado con anterioridad (una versión distinta de la presente) para realizar el Manual del calendario en PHP.

No es necesario hacer un ciclo repetitivo para la función UltimoDia(), es un poco más simple de resolver.

Los meses 1,3,5,7,8,10,12 siempre tienen 31 días, los meses 4,6,9,11 siempre tienen 30 días, el único problema es el mes de febrero dependiendo del año puede tener 28 o 29 días, pero ese cálculo tampoco es dificil.

Aquí envío el código para la función UltimoDía(), que ojalá les sirva...

function UltimoDia($anho,$mes){
   if (((fmod($anho,4)==0) and (fmod($anho,100)!=0)) or (fmod($anho,400)==0)) {
       $dias_febrero = 29;
   } else {
       $dias_febrero = 28;
   }
   switch($mes) {
       case 01: return 31; break;
       case 02: return $dias_febrero; break;
       case 03: return 31; break;
       case 04: return 30; break;
       case 05: return 31; break;
       case 06: return 30; break;
       case 07: return 31; break;
       case 08: return 31; break;
       case 09: return 30; break;
       case 10: return 31; break;
       case 11: return 30; break;
       case 12: return 31; break;
   }
}

Comentarios
Fueron enviados 8 comentarios al artículo
5 comentarios no revisados
3 comentarios revisados:
Por: tisasia
26/8/03
Con las siguientes lineas de codigo calculamos el primer y el ultimo dia de cada mes:

$first_of_month = mktime (0,0,0, $month, 1, $year);
$maxdays = date('t', $first_of_month);

y funciona para cualquier año y mes (incluidos bisiestos)

Salu2 a to2......

Por: bricomaniaco
17/3/04
como el año gregoriano es un poco más corto que el verdadero o año trópico, se suprimen tres bisiestos cada 400 años, en los años seculares no divisibles por 400, tales como 1700, 1800, 1900 y 2100. Tenedlo en cuenta en este tipo de algoritmos...
Por: [Ph03n1X]
19/10/04
Nunca está de más asegurarse que el servidor trabaja con el formato de fecha correcto y especificárselo con la siguiente línea:

setlocale (LC_TIME,"spanish");


Manuales relacionados
Categorias relacionadas
El autor
Héctor A. Pinto F
Ingeniero en Informática. Santiago de Chile.
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo