Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2008, 11:59
anje53
 
Fecha de Ingreso: agosto-2006
Mensajes: 24
Antigüedad: 18 años, 5 meses
Puntos: 1
Problemas con los años bisiestos en JavaScript

Hola.
He creado una funcion para calcular la edad de una persona, pero las fechas son incorrectas por no tomar en cuenta los años bisiestos. Y tengo 2 funciones para saber los años bisiestos pero no se como aplicarlas.

Tengo una funcion para comprobar si el año es bisiesto.

unction añoBis(año) { // pero tampoco se como aplicarla
if ((año % 4 == 0) && (( año % 100 != 0) || (año % 400 ==0)))
return true;
else
return false;
}

Y otra para aplicarlas a al mes de febrero

dias_Mes = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
function getDays(month, año) {
if (Bisiesto(año))
dias_Mes[1]=29; // solo para Febrero
else
dias_Mes[1]=28;
return dias_Mes[mes]
}

Bueno estas son mis ideas que yo he cogido por ahi, pero claro pueden haber muchas mas.
Tambien he buscado en este fero, y he encontrado algo pero no entiendo, ya que para mi los codigos son demaciados extensos para entenerlos y aplicarolos para lo que yo estoy buscando.


Este es mi codigo de principiante:

<HTML>
<HEAD>
<TITLE>Mi Edad</TITLE>
<script language="javascript">

function diasonline(){

numDiaBis=0;
diaForm=document.form1.inputDia.value;
mesForm=document.form1.inputMes.value;
anoForm=document.form1.inputAno.value;

fecha= new Date();

fechaInicio = new Date(fecha.getFullYear(),fecha.getMonth()+1,fecha. getDate());
fechaHoy = new Date(anoForm,mesForm,diaForm)

misFechas = fechaInicio.getTime() - fechaHoy.getTime();


dias = Math.floor(misFechas/(1000*60*60*24)); // no vele;
años=Math.floor(dias/365); // No vele;
meses = Math.floor(años/12) // Tampoco vele;

document.getElementById("myEdad").innerHTML=años+ " años" + "<br>" + meses +" Meses" + "<br>" + dias+ " dias ";
}

</script>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<form name="form1">
Dia <input type="text" size="2" name="inputDia" />
Mes <input type="text" size="2" name="inputMes" />
Año <input type="text" size="4" name="inputAno" />
<input type="button" value="Mi Edad" onClick="diasonline()" />
</form>
<div id="myEdad"></div>
</BODY>
</HTML>

Saludos.

Gracias.