Hola,
Probé la función de Maycol y me funcionó muy bien y a la primera, sin embargo, hoy 9 de agosto de 2004, puse un registro fechado el 17 de Marzo de 1953 (1953-03-17 en un campo date de mysql) y el fulano debiera tener 51 años. No obstante, marca 34.
Cualquier registro anterior a 1970 que ponga seguirá teniendo 34 (ojalá así pasara en la vida real :D)
¿Alguna idea de qué pasa?
El código es el siguiente:
Código PHP:
//Para la función
function edad($stamp){
$stamp = strtotime($stamp);
$c = date("Y",$stamp);
$b = date("m",$stamp);
$a = date("d",$stamp);
$anos = date("Y")-$c;
if(date("m")-$b > 0){
}elseif(date("m")-$b == 0){
if(date("d")-$a < 0){
$anos = $anos-1;
}
}else{
$anos = $anos-1;
}
return $anos;
}
//El valor en la DB está en formato YYYY-MM-DD
//Pero como le añadí a la función la línea: $stamp = strtotime($stamp);
//le pasa el valor en el formato correcto
//la uso así:
fecha($recordset['fecha']);
Cualquier ayuda se agradece.
Saludos!
PD. Según
www.php.net/strtotime están soportadas las fechas desde 13 de dic. de 1901 hasta el 19 de enero de 2038... así que por ahí no debe ser la cosa