
calculo del mes con fecha de nacimiento
Publicado por zendi (90 intervenciones) el 11/11/2014 19:42:37
En esta funcion solo se calcula la edad a partir de la fecha de nacimiento y arroja los años de edad, pero puede darse el caso de calcule los meses; es decir que calcule los meses de edad de un recien nacido.
Ejemplo, Fecha Actual: 11/11/2014 Fecha de nacimiento: 02/08/2014
En negrita aparece la rutina que le agregué para calcular la edad cuando es un recien nacido.
pero arroja este error: Tiene 0 años
a ver quien pudiera dar una idea mas.
Ejemplo, Fecha Actual: 11/11/2014 Fecha de nacimiento: 02/08/2014
En negrita aparece la rutina que le agregué para calcular la edad cuando es un recien nacido.
pero arroja este error: Tiene 0 años
a ver quien pudiera dar una idea mas.
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
function isValidDate(day,month,year)
{
var dteDate;
// En javascript, el mes empieza en la posicion 0 y termina en la 11
// siendo 0 el mes de enero
// Por esta razon, tenemos que restar 1 al mes
month=month-1;
// Establecemos un objeto Data con los valore recibidos
// Los parametros son: año, mes, dia, hora, minuto y segundos
// getDate(); devuelve el dia como un entero entre 1 y 31
// getDay(); devuelve un num del 0 al 6 indicando siel dia es lunes,
// martes, miercoles ...
// getHours(); Devuelve la hora
// getMinutes(); Devuelve los minutos
// getMonth(); devuelve el mes como un numero de 0 a 11
// getTime(); Devuelve el tiempo transcurrido en milisegundos desde el 1
// de enero de 1970 hasta el momento definido en el objeto date
// setTime(); Establece una fecha pasandole en milisegundos el valor de esta.
// getYear(); devuelve el año
// getFullYear(); devuelve el año
dteDate=new Date(year,month,day);
//alert(((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear())));
//Devuelva true o false...
return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}
function calcularEdad()
{
var fecha=document.getElementById("user_date").value;
//la fecha que entra el usuario
var values=fecha.split("/");
var dia = values[0];
var mes = values[1];
var ano = values[2];
fecha= dia+"/"+mes +"/"+ano;
if(validate_fecha(fecha)==true)
{
// Si la fecha es correcta, calculamos la edad
var values=fecha.split("/");
var dia = values[0];
var mes = values[1];
var ano = values[2];
// cogemos los valores actuales
var fecha_hoy = new Date();
var ahora_ano = fecha_hoy.getYear();
var ahora_mes = fecha_hoy.getMonth();
var ahora_dia = fecha_hoy.getDate();
// realizamos el calculo
var edad = (ahora_ano + 1900) - ano;
var mes = (ahora_mes - mes);
if ( ahora_ano == ano)
{
mes++;
}
document.getElementById("result").innerHTML="Tiene "+mes+" meses";
if ( ahora_mes < (mes - 1))
{
edad--;
}
if (((mes - 1) == ahora_mes) && (ahora_dia < dia))
{
edad--;
}
if (edad > 1900)
{
edad -= 1900;
}
document.getElementById("result").innerHTML="Tiene "+edad+" años";
}
else
{
document.getElementById("result").innerHTML="La fecha "+fecha+" es incorrecta";
}
}
Valora esta pregunta


0