Geek the Planet


Curiosidades no image

Published on febrero 29th, 2008 | by Angelfire

0

Años Bisiestos

Un año es bisiesto si dura 366 días, en vez de los 365 de un año común. Ese día adicional se suele añadir al final del mes más corto, fechándose como 29 de febrero. Este día se añade para corregir el desfase que existe con la duración real de los años: 365 días y 6 horas aproximadamente. Esto hace que se corrija cada cuatro años (los años múltiplos de cuatro) que se acumulan 24 horas. El calendario juliano consideraba bisiesto los años divisibles entre cuatro. Así el año juliano dura 365 días +1/4=365,25 días (más que el año trópico que dura 365,2422 días). La regla para los años bisiestos según el calendario gregoriano es:

Un año es bisiesto si es divisible por 4, excepto el último de cada siglo (aquellos divisibles por 100), que para ser bisiestos, también deben ser divisibles por 400.

Es decir los años que sean divisibles por 4 serán bisiestos; aunque no serán bisiestos si son divisibles entre 100 (como los años 1700, 1800, 1900 y 2100) a no ser que sean divisibles por 400 (como los años 1600, 2000 ó 2400). En 400 años debe haber 97 años bisiestos, de esa manera el año del calendario gregoriano se mantiene muy parecido al año solar. Así el año gregoriano dura 365 días +1/4 -1/100 +1/400 = 365,2425 días (más que el año trópico que dura 365,2422 días). Como el error es de 0,0003 días por año, podría parecer que al cabo de tres mil años se habrá acumulado un día de error. Pero en realidad no sabemos exactamente cuándo llegará el error a un día. La cifra de 365,2422 días por año trópico no es del todo exacta, porque tanto la duración del año trópico, como la velocidad de rotación de la tierra, van cambiando con los siglos, y de una manera que no es completamente predecible. Existen versiones que indican que ese día se descontará el año 3600, que no será un año bisiesto Algoritmo de un Año Bisiesto.

Algoritmo de un Año Bisiesto

Año bisiesto

En PHP

<?php
// Generamos el arreglo con la fecha actual
$hoy = getdate();
 // Generamos el arreglo con el primer día del mes
$inicio = getdate(mktime(0,0,0,$hoy[mon],1,$hoy[year]));
 //evaluamos
if(($inicio[year]%4==0 &amp;&amp; $inicio[year]%100!=0 )|| $inicio[year]%400==0)
{
// devolvemos si es verdadero
return true;  }
?>

Otra Versión

<?php
function es_bisiesto($year=NULL) {
    $year = ($year==NULL)? date('Y'):$year;
// devolvemos true si es bisiesto
    return ( ($year%4 == 0 &amp;&amp; $year%100 != 0) || $year%400 == 0 );
}?>

Más Info: Año Bisiesto
Algoritmo Bisiesto

Tags: ,


About the Author

Systems Engineering, Computer Systems Specialist, Social Engineering Specialist. Social Media Analyzer. Usability and SEO enthusiasm (Este es mi perfil de Twitter...)



Comments are closed.

Back to Top ↑