Diferencia entre revisiones de «Programación en PHP/Ejemplos/Calcular edad»

Contenido eliminado Contenido añadido
Alan (discusión | contribs.)
m Revertidos los cambios de 2800:370:4F:F9D0:F454:CDA5:B10F:F3E1 (disc.) a la última edición de Alan
Línea 7:
 
===Código===
<source lang="php">phpz=
<?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;
 
?>
</source>
 
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:
 
<source lang="php">
function CalculaEdad( $fecha ) {
list($Y,$m,$d) = explode("-",$fecha);
return( date("md") < $m.$d ? date("Y")-$Y-1 : date("Y")-$Y );
}
</source>
 
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");