02/10/04
Por: Moisés EsmeralBuenas Tardes
revise la función y te cuento que si funciona, pero cuando se calcula un día menor antes de la fecha de cumpleaños dentro del mismo mes te devuelve la edad como si ya hubieses cumplido años. Si puedes resolver este detalle ya que esto hace que la funció esté mala.
Saludos de Venezuela.
MAEO
como se valida el año de nacimiento en html
Saludos esta bien tu codigo pero creo q unicamente funciona para personas que nacieron antes del 2000 puesto que si yo igreso dos valores por ejemplo 01 me va a sumar 1900 + 01 y me va a restar la fecha actual menos esa cantidad. Y por lo tanto me dara una edad de una persona que nacio en los años 1900 y no en los 2000. Saludos y suerte espero encontrar una solucion que sea mas factible
16/3/06
Por: Manuel SantamariaCalcular la edad en PHP
<?php
// Fecha actual
$date = getdate();
$anioact = $date["year"];
$mesact = $date["mon"];
$diaact = $date["mday"];
// Fecha de nacimiento de ejemplo para el test
$fechanac = "1981-07-04";
// Desglosamos la fecha recibida, como si fuese ingreada en un Form u obtenida de una base de datos
list( $anionac, $mesnac, $dianac ) = split('-', $fechanac);
//Verificamos que la fecha es correcta
if (checkdate ( $mesnac, $dianac, $anionac )){
$fechanac = ($anionac."-".$mesnac."-".$dianac);
} else {
die("Fecha incorrecta");
}
//Calculo de la edad al dia de hoy
$edad = $anioact - $anionac;
if ($mesact < $mesnac){
$edad--;
} elseif ($mesact == $mesnac){
if ($diaact < $dianac){
$edad--;
}
}
echo $edad;
?>
Amigo podrias ayudarme tengo que calcular la edad de una persona mas de eso debo decirle, cuanto dias,meses y semanas de vida tiene si nacio en un año bisiesto o no y saber cuanto mese o dias faltan para que llegue su cumpleaños de antemanos muchas gracisas
Por fa es un parcial y no tengo ni idea de PHP y lo necesito urgente es para hoy
ayundenmeeeeeeeeeeeeeee
29/3/06
Por: Lucas AlvarezHe probado esta función y hay un caso en el que falla es que si el usuario cumple años el mismo mes en en que nos encontramos. Yo hice el siguiente ejemplo. fecha de hoy: 29/03/2006. fecha de nacimiento: 31/03/1981 y devuelve null.
04/7/06
Por: Stip VeramendiSaludos amigos, estuve probando el script para el cálculo de la edad funciona con la edad de mis amigos menos con mi fecha de nacimiento, el tema es que para fechas con meses por encima del mes de julio el script falla, aumentando un año, bueno tal vez pueden existir otros errores, no sé si por favor podrían ayudarme a encontrar cual es el inconveniente??
Gracias
Buena Manuel Santamaria, ese codigo si esta mejor, mas simple y fucniona.. gracias.. tendras mas codigos..?
vs_stip@hotmail.com
Que tal amigos programadores todo ese codigo esta muy bien ya lo puse en practica pero quisiera ver si me pueden ayudar con el calculo en el Lenguaje de PROLOG gracias.
En versión PHP. La fecha de nacimiento se ha de pasar en formato mysql (aaaa-mm-dd).
function calcula_edat($data){
$naixament=split('-',$data);
$edad=date(Y) -$naixament[0] - 1;
if (date(m) +1 - $naixament[1] < 0)
return $edad;
if (date(m) +1 - $naixament[1] > 0)
return $edad+1;
if (date(d) - $naixament[2] >=0)
return $edad+1;
return $edad;
}
Tengo un problema al ingresa unas Fecha inicial
ejemplo
Fecha Inicial 2007-8-31
Fecha Final 2007-9-01
Sale diferencia de 0, igual para todas las fechas que terminen en 31.
Hola, muchas gracias por el script del cálculo de la edad.
Tuve que cambir algo en la siguiente línea:
Cambié la función que estaba antes ( getYear() )
por la que está aquí. Ya que devolvía datos errados.
edad=hoy.getUTCFullYear()- ano - 1;
de esta forma si devuelve la edad correcta.
Hasta pronto.
19/10/08
Por: Josser Ramirezformamas rapida y practica de obtener la edad:
function calcular_edad(fecha){
//calculo la fecha de hoy
hoy=new Date();
anoactual=hoy.getFullYear();
//calculo la fecha que recibo
//La descompongo en un array
var array_fecha = fecha.split("/")
//si el array no tiene tres partes, la fecha es incorrecta
if (array_fecha.length!=3)
return false
//compruebo que los ano, mes, dia son correctos
var ano
ano = parseInt(array_fecha[2]);
//alert (ano);
if (isNaN(ano))
return false
/* esto es lo importante */
edad=anoactual-ano;
alert(edad);
/* esto es lo importante */
var mes
mes = parseInt(array_fecha[1]);
// alert (mes);
if (isNaN(mes))
return false
var dia
dia = parseInt(array_fecha[0]);
// alert (dia);
if (isNaN(dia))
return false
return edad
}
función Javascript:
calcular_edad
Oye muchas gracias por la funcióncita me acaba de ser bastante útil.
Pero una Observación para que se corrija:
en la línea:
var array_fecha = fecha.split("/");
debe ir así:
var array_fecha = fecha.value.split("/");
de lo contrarío Genera Error de JavaScript.
Por lo demás Excelente Aporte.
Muchas Gracias.
12/4/09
Fechas meses Agosto y SeptiembrePor: AftorresCualquier Fecha de los meses Agosto y Septiembre, me suma un año mas del que corresponde.
15/6/09
Solucion a fallos en calculo de edadPor: PedroPara resolver los problemas con los meses en los calculos de la edad se deben cambiar las siguientes lineas.
Donde pone: ano = parseInt(array_fecha[2])
se debe cambiar por: ano = parseInt(array_fecha[2],10)
Donde pone: mes = parseInt(array_fecha[1])
se debe cambiar por: mes = parseInt(array_fecha[1],10)
Donde pone:dia = parseInt(array_fecha[0])
se debe cambiar por: dia = parseInt(array_fecha[0],10)
Esto es por que al hacer la funcion parseInt con 08 y 09 no coge bien la base y devuelve 0, al decirle que la base es 10 se resuelve el problema
19/9/09
Problema en Google ChromPor: AlanHola queria avisar que use la function y me da problemas en Google Chrom.. al ingresar una fecha validada me devuelve una edad erronea.
Por ejemplo:
Ingrese: 18/11/1994
Devolvio: -1886
supongo que debe ser un problema en los return previos al return final.. me refiero a estos:
if (hoy.getMonth() + 1 - mes < 0)
[b]return edad[/b]
if (hoy.getMonth() + 1 - mes > 0)
[b]return edad+1[/b]
if (hoy.getUTCDate() - dia >= 0)
[b]return edad+1[/b]
espero que halla solucion, asi queda una buena function ;)