Programación en PHP/Ejemplos/Calcular edad

Calcular edad con PHP Con Funciones editar

Introducción editar

Un cálculo muy solicitado en muchas ocasiones es el de calcular la edad. Es un calculo sencillo una vez tienes en cuenta algunos factores imprescindibles.

Si has nacido en 1980 y estamos en el 2000 tendrías 20 años siempre que hayas sobrepasado el día y el mes de tu nacimiento. Sabiendo esto generaremos dos if que restaran un año en el caso de no cumplir con la condición.

Código PHP editar

<?php
//fecha actual

$dia=date(j);
$mes=date(n);
$ano=date(Y);

//fecha de nacimiento

$dianaz=2;
$mesnaz=6;
$anonaz=1983;

//si el mes es el mismo pero el día inferior aun no ha cumplido años, le quitaremos un año al actual

if (($mesnaz == $mes) && ($dianaz > $dia)) {
$ano=($ano-1); }

//si el mes es superior al actual tampoco habrá cumplido años, por eso le quitamos un año al actual

if ($mesnaz > $mes) {
$ano=($ano-1);}

//ya no habría mas condiciones, ahora simplemente restamos los años y mostramos el resultado como su edad

$edad=($ano-$anonaz);

print $edad;

?>

Como veis es un código muy simple donde tendréis que sustituir las variables "$dianaz=2" "$mesnaz=6" y "$anonaz=1983" por la fecha de nacimiento a calcular para que os sea completamente útil.

Una manera más elegante y compacta de hacerlo puede ser:

function CalculaEdad( $fecha ) {
    list($Y,$m,$d) = explode("-",$fecha);
    return( date("md") < $m.$d ? date("Y")-$Y-1 : date("Y")-$Y );
}

Llamando a la función CalculaEdad() con la fecha en formato YYYY-mm-dd como parámetro, nos devuelve la edad de una persona nacida en esa fecha. Ej: CalculaEdad("1945-11-22");