Foros del Web » Programación para mayores de 30 ;) » Java »

Calcular edad apartir de la fecha de nacimiento

Estas en el tema de Calcular edad apartir de la fecha de nacimiento en el foro de Java en Foros del Web. Buen dia.... Alguin tiene alguna idea de como se calcula la edad apartir de la fecha de naciento, esto es una de las partes que ...
  #1 (permalink)  
Antiguo 23/04/2009, 22:13
 
Fecha de Ingreso: mayo-2008
Mensajes: 47
Antigüedad: 15 años, 11 meses
Puntos: 0
Calcular edad apartir de la fecha de nacimiento

Buen dia....

Alguin tiene alguna idea de como se calcula la edad apartir de la fecha de naciento, esto es una de las partes que me hace falta para terminar una aplicacion que me pidieron en la universidad, pero la verdad no tengo ni la menor idea de como se calcula de esta forma y en java se me hace un poco complicado, he pensado en extraer la fecha del sistema y restarle la fecha de nacimiento pero no seo como se extrea la fecha del sistema, y depues sacar el año de una textField que tiene como formato dd/mm/aaaa y ha este sacarle solo el año para despues restarselo al año de la fecha del sistema....

algo asi

int edad = fechaDelSistema - año;

de antemano gracias....
  #2 (permalink)  
Antiguo 24/04/2009, 00:16
Avatar de SileBird  
Fecha de Ingreso: abril-2009
Ubicación: http://silekun.elbruto.es
Mensajes: 75
Antigüedad: 15 años
Puntos: 0
Respuesta: Calcular edad apartir de la fecha de nacimiento

Si creo recordar bien los formatos de fecha en Java hay un método que te saca lo que sea del formato Date, algo tal que ".Year" o ".Month".

Y si, la manera más lógica de sacar la edad de alguien por matemáticas es restar el año actual menos su año de nacimiento. Eso si, has de fijarte en los meses también para ser más fijo.

Una persona que cumple años en Diciembre no tiene la edad durante todo el año.

Por ejemplo, nací en 1989, cumplí en Febrero, tengo 20.
Nací en 1989, cumplo en Diciembre, tengo 19 años.

-------------------------------------------------------

Comprobado, despues de tu fecha pones ".getYear()" y ".getMonth()" cada cosa del Date lo puedes cojer así.

Última edición por SileBird; 24/04/2009 a las 00:24
  #3 (permalink)  
Antiguo 24/04/2009, 13:39
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Calcular edad apartir de la fecha de nacimiento

esto te puede ser de mucha ayuda

http://www.forosdelweb.com/f45/resta...s-java-535943/
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
  #4 (permalink)  
Antiguo 24/04/2009, 15:06
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Calcular edad apartir de la fecha de nacimiento

Los único problemas de fechas que he tenido es a la hora de grabarlas en HSQLDB. No sé, hay varios tipos de Date() y no sé como hacerlos compatibles entre sí o como pasar de un tipo a otro . Es como un CAST.

Si alguién tiene una solución o algo que sea sencillito para trabajar con fechas y bases de datos, pues os lo agradeceria, porque lo que veo por ahi es más complicaado que lo que me monté en su día.

Un saludo
  #5 (permalink)  
Antiguo 24/04/2009, 17:02
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca, Morelos
Mensajes: 40
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Calcular edad apartir de la fecha de nacimiento

Hola que tal, no si seran casualidades de la vida pero curiosamente hoy tambien tuve que realizar una funcion que me sacara la edad dada una fecha de nacimiento, aqui t dejo mi funcion espero t ayude
Código:
public int edad(String fecha_nac) {     //fecha_nac debe tener el formato dd/MM/yyyy
   
    Date fechaActual = new Date();
    SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
    String hoy = formato.format(fechaActual);
    String[] dat1 = fecha_nac.split("/");
    String[] dat2 = hoy.split("/");
    int anos = Integer.parseInt(dat2[2]) - Integer.parseInt(dat1[2]);
    int mes = Integer.parseInt(dat2[1]) - Integer.parseInt(dat1[1]);
    if (mes < 0) {
      anos = anos - 1;
    } else if (mes == 0) {
      int dia = Integer.parseInt(dat2[0]) - Integer.parseInt(dat1[0]);
      if (dia > 0) {
        anos = anos - 1;
      }
    }
    return anos;
  }
creo que la funcion se explica x si sola pero x si las moscas la funcion recibe como parametro la fecha de nacimiento obtengo la fecha del sistema en la variable hoy, los splits lo unico que hacen es obtener en un array el año el mes y el dia por separado (esto gracias ala diagonal) para restarlos y creo q eso es todo espero t ayude y no haberme equivocado saludos y suerte con tu proyecto
  #6 (permalink)  
Antiguo 25/04/2009, 03:07
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Calcular edad apartir de la fecha de nacimiento

Si que os complicais la vida . De dos objetos Date a la diferencia en milisegundos, y 1000*60*60*24*365 milisegundos corresponden a un año. Una resta más una división y listo.

O hacer dos objetos calendar, obtener su campo YEAR y restarlo...

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 28/12/2010, 12:14
Avatar de hwongu  
Fecha de Ingreso: junio-2008
Ubicación: Trujillo
Mensajes: 93
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Calcular edad apartir de la fecha de nacimiento

Para calcular la edad en java lo pueden hacer de la siguiente manera

http://hwongu.blogspot.com/2008/09/c...esde-java.html
  #8 (permalink)  
Antiguo 29/12/2010, 04:07
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Calcular edad apartir de la fecha de nacimiento

Cita:
if (today.get(Calendar.MONTH) <= birth.get(Calendar.MONTH)) {
if (today.get(Calendar.MONTH) == birth.get(Calendar.MONTH)) {
if (today.get(Calendar.DATE) > birth.get(Calendar.DATE)) {
factor = -1; //Aun no celebra su cumpleaños
No hace falta complicarse tanto, ya que Calendar.DAY_OF_YEAR te devuelve el numero de día dentro del año, así que comparando eso no hace falta mirar los meses.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:06.