Calcular año bisiesto en php

Tenemos varios métodos en php para saber si un año es bisiesto:

  • Mediante operaciones matemáticas. Las condiciones de un año bisiesto son que sea divisible entre 4 o 400 excepto si es divisible entre 100
  • Utilizando la función checkdate() de php, comprobando si existe la fecha del 29 de febrero
  • Utilizando la función date(‘L’)

Mediante operaciones matemáticas

Como hemos visto anteriormente, debemos comprobar si el año es divisible entre 4 o 400 y no divisible entre 100.

function esBisiesto($anio) {
    return !($anio % 4) && ($anio % 100 || !($anio % 400));
}

Utilizando la función checkdate()

Otra alternativa es con la función checkdata(). Como todos los años bisiestos tiene un día , en concreto el 29 de febrero, podemos comprobar si es correcta la fecha del 29 de febrero de $anio

function esBisiesto($anio=null) {
	return checkdate(2, 29,($anio==null) ? date('Y') : $anio);
}

Utilizando la función date(‘L’)

PHP en su función date nos puede ser útil para comprobar is un año es bisiesto. Tan solo debemos llamarla con el parámetro 'L' y pasandole una cadena timestamp con la fecha a comprobar:

function esBisiesto($anio=null) {
	return date('L',($anio==null) ? time(): strtotime($anio.'-01-01'));
}

if ((bool)esBisiesto()) {
	echo "es año bisiesto!";
}else{
	echo "no es año bisiesto!";
}

En el ejemplo anterior, si llamamos a la función esBisiesto() pasando como parámetro un año, comprobara si ese año indicado es bisiesto. En caso de no pasar ningún año, comprobara el año actual.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)