tengo un pequeño problema con este array:
al pasarle la fecha el mes 08 y 09, cuando los transformo a entero me los pasa al array como un cero por lo tanto calcular la edad con la fecha de nacimiento no me da exacta
aqui les dejo el codigo
function calcular_edad(fecha){
//calculo la fecha de hoy
hoy=new Date();
//alert(hoy)
//calculo la fecha que recibo
//La descompongo en un array
var array_fecha = fecha.split("-");
alert ("su fecha es : "+array_fecha);
//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 dia;
dia = parseInt(array_fecha[0]);
if (isNaN(dia)){
return false;
}
var mes;
mes = parseInt(array_fecha[1]);
alert("su mes es : "+mes)
if (isNaN(mes)){
return false;
}
var ano;
ano = parseInt(array_fecha[2]);
alert("su año es: "+ano);
if (isNaN(ano)){
return false;
}
//si el año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4
if (ano<=99){
ano +=1900;
}
//resto los años de las dos fechas
edad=hoy.getFullYear()- ano - 1; //-1 porque no se si ha cumplido años ya este año
//si resto los meses y me da menor que 0 entonces no ha cumplido años. Si da mayor si ha cumplido
if (hoy.getMonth() + 1 - mes < 0){ //+ 1 porque los meses empiezan en 0
return edad;
}
if (hoy.getMonth() + 1 - mes > 0){
return edad + 1;
}
//entonces es que eran iguales. miro los dias
//si resto los dias y me da menor que 0 entonces no ha cumplido años. Si da mayor o igual si ha cumplido
if (hoy.getUTCDate() - dia >= 0){
return edad + 1;
}
return edad;
}
-----------------------------------------------------------------------------------
y con este html le estoy pasando los valores
<html>
<head>
<title>Problema</title>
<script language="javascript" type="text/javascript" src="mio.js"></script>
<script language="javascript" type="text/javascript" src="jquery-1.7.2.js"></script>
</head>
<body>
<script language="javascript">
document.write('Tu edad es: '+calcular_edad('27-08-1990'));
</script>
</body>
</html>