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");