Ver Mensaje Individual
  #21 (permalink)  
Antiguo 21/09/2008, 13:53
CristianDeluxe
 
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Calcular edad actual - Por favor ayuda!!

Hola, he programado esta función a partir de la que propuso Maycol, calcula la edad y puedes pasarle la fecha como quieras, en formato string o en marca de tiempo (timestamp), la estoy usando para parsear los valores datetime de mysql:

Código PHP:
/*
Function: Get_Edad(date)
    
Desc: Calcula la edad de una persona 
    a partir de su fecha de nacimiento.
        
Return: Int Edad
         0 si no se pudo calcular    
*/
function Get_Edad($date)
{
    
// Si no es una marca de tiempo intentamos convertirla
    
if( !is_integer($date) )
    {
         if( 
strtotime$date ) <> -// Si es diferente a -1 convertimos la fecha
         
{
             
$date strtotime$date );
         }
         else 
// No parece ser una fecha válida
         
{
             return 
0;
         }
    }
    
    
// Procesamos la marca de tiempo
    
$ano date("Y"$date);
    
$mes date("m"$date);
    
$dia date("d"$date);
    
    
// Calculamos los años que tiene
    
$anos date("Y") - $ano;
    
    if( 
date("m") > $mes // Si el mes es superior, tenemos los años calculados anteriormente
    
{
        return 
$anos;
    } 
    elseif( 
date("m") < $mes // Si el mes es inferior tenemos tenemos un año menos
    
{
        return 
$anos 1;
    }
    else 
// Este mes es su cumpleaños
    
{
        if( 
date("d") > $dia // Si el día es superior tenemos los años calculados anteriormente
        
{
            return 
$anos;
        } 
        elseif( 
date("d") < $dia // Si el día es inferior tenemos  un año menos
        
{
            return 
$anos -1;
        }
        else 
// Hoy es su cumpleaños
        
{
            return 
$anos;
        }
    }

Os la dejo aquí por si le sirve a alguien, creo que está suficientemente explicada para los novatos.

Salu2
Cristian