2010-09-01

Calcular edad con PHP

Comprobación de las fechas en PHP puede ser problemático ya que PHP se ocupa principalmente de la manipulación fecha que gira en torno a las marcas de tiempo Unix. Esta es una buena cosa, en su mayoría. marcas de tiempo Unix sin embargo, no tienen una idea de los años bisiestos, por lo tanto es difícil aunque no imposible, para obtener un cálculo de la fecha exacta de ellos. Cuando las fechas deben ser exactos por razones legales, es vital que los años bisiestos se consideran. Aquí hay varias soluciones propuestas, cada uno mejor que el anterior. 

Esta funcion hace uso de la strtotime() de PHP y los incrementos de un 1 año en cada iteración. 

Function PHP:

<?php
/*** make sure this is set ***/date_default_timezone_set('Europe/London');
/**
 *
 * Get the age of a person in years at a given time
 *
 * @param       int     $dob    Date Of Birth
 * @param       int     $tdate  The Target Date
 * @return      int     The number of years
 *
 */
function getAge$dob$tdate )
{
        
$age 0;
        while( 
$tdate $dob strtotime('+1 year'$dob))
        {
                ++
$age;
        }
        return 
$age;
}
?>

Ejemplo de Uso:

 <?php
/*** Fecha de nacimineto ***/
$dob 
strtotime("april 20 1961");
/*** Fecha Actual ***/
$tdate 
strtotime("june 16 2009");
/*** Salida de la edad ***/
echo 
getAge$dob$tdate );
?>

Salida: 48

No hay comentarios: