JavaScript - COMO CALCULAR LA EDAD A PARTIR DE LA FECHA DE NACIMIENTO

 
Vista:
sin imagen de perfil

COMO CALCULAR LA EDAD A PARTIR DE LA FECHA DE NACIMIENTO

Publicado por zendi (90 intervenciones) el 30/11/2014 02:59:05
Utilicen esta funcion para tal fin, en Javascript es mas facil

Y todavia se puede modificar la interface para la fecha de nacimiento, separando el dia el mes y el año.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
function calcular_edad()
{
 var form = document.getElementById('fecha_nac').value; //fecha de nacimiento en el formulario
 var fechaNacimiento = form.split("/");
 var dia = fechaNacimiento[0];
 var mes = fechaNacimiento[1];
 var ano = fechaNacimiento[2];
 var fechaHoy = new Date(); // detecto la fecha actual y asigno el dia, mes y anno a variables distintas 
 var ahora_ano = fechaHoy.getFullYear();
 var ahora_mes = fechaHoy.getMonth()+1;
 var ahora_dia = fechaHoy.getDate(); // realizamos el calculo 
 var edad = (ahora_ano) - ano;
    if ( ahora_mes < mes )
      {
       edad--;
   	  }
	if (mes == ahora_mes && ahora_dia < dia){
	   edad--;
/////        
		dias = dia - ahora_dia;
		alert(dias);
	   }
	    if (dia > ahora_dia)
		{
		  dias = dia - ahora_dia
		}
		  if (ahora_dia == dia)
		{
		   dias = 0;
		}
		   if (dia < ahora_dia)
		   {
		     dias = ahora_dia - dia
		   }
/////		
	   if (edad > 1900)
	   {
	   edad -= 1900;
	   }
	   var meses=0;
	   if(ahora_mes>mes)
	     meses=ahora_mes-mes;
		 if(ahora_mes<mes)
		 meses=12-(mes-ahora_mes);
           // calculamos los dias 
 
				var dias=0;
				if(ahora_dia>dia) {
				    dias=ahora_dia-dia;
					}
					if(ahora_dia<dia)
					{
					ultimoDiaMes=new Date(ahora_ano, ahora_mes, 0);
					console.log(ultimoDiaMes.getDate());
					dias=ultimoDiaMes.getDate()-(dia-ahora_dia);
					}
    document.getElementById('edad').value = edad;
    document.getElementById('meses').value = meses;
    document.getElementById('dias').value = dias;
  }
y se aplica en este codigo HTML:

1
2
3
4
5
6
7
8
<TR>
	<td>Fecha de Nac.:</td>
    <td><input type="text" size=10 maxlength=10 name="fecha_nac" onBlur="calcular_edad();" id="fecha_nac" onKeyUp="mascara(this,'/',patron,true)">
<input type="text" size="2" maxlength="2" id="edad" name="anios" readonly="t" class="color1">
<input type="text" size="2" maxlength="2" id="meses" name="meses" readonly="t" class="color1">
<input type="text" size="2" maxlength="2" id="dias" name="dias" readonly="t" class="color1">
   </td>
</TR>

se aceptan sugerencias.
saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 5
Ha disminuido su posición en 29 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

COMO CALCULAR LA EDAD A PARTIR DE LA FECHA DE NACIMIENTO

Publicado por Ismael (10 intervenciones) el 30/11/2014 18:37:22
Hola,
la edad no tiene mucha complejidad, pero te planteo como podrías resolverlo
creas un int con la fecha actual de la siguiente forma: AAAAMMDD ej:20141130 y posteriormente la fecha de nacimiento de la misma forma.
luego haces una resta de la fechaactual con la fecha de nacimiento y lo divides entre 10000 y te sale la edad en entero y decimales, luego solo coge la parte entera y ya tienes la edad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

COMO CALCULAR LA EDAD A PARTIR DE LA FECHA DE NACIMIENTO

Publicado por zendi (90 intervenciones) el 30/11/2014 22:10:47
hola, tienes razon lo probe como dijiste, pero porque divides entre 10000?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

COMO CALCULAR LA EDAD A PARTIR DE LA FECHA DE NACIMIENTO

Publicado por zendi (90 intervenciones) el 01/12/2014 13:00:42
Que tal Ismael, Podrias decirme por que se divide esta operacion entre 10000? es para saber con certeza esta operacion. Y disculpa la pregunta.
Gracias Amigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

COMO CALCULAR LA EDAD A PARTIR DE LA FECHA DE NACIMIENTO

Publicado por zendi (90 intervenciones) el 02/12/2014 00:01:15
Ok ya capte. Al dividir por 10000, lo que hago es correr 4 espacios a la izquierda y obtengo la edad,
ahora si deseara obtener el dia se divide entre 100.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar