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

Restar años a una fecha en Java

Estas en el tema de Restar años a una fecha en Java en el foro de Java en Foros del Web. Buenos dias Deseo realizar la resta de años a la fecha que capture a traves de Date(), para poder hacer una comparacion... Mi idea seria ...
  #1 (permalink)  
Antiguo 05/02/2015, 07:38
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 6 meses
Puntos: 9
Restar años a una fecha en Java

Buenos dias

Deseo realizar la resta de años a la fecha que capture a traves de Date(), para poder hacer una comparacion... Mi idea seria basicamente algo como esto:

Código Java:
Ver original
  1. fecha_1 = fecha_del_sistema  (la capturaria con Date() y le daria formato con SimpleDateFormat)
  2. fecha_2 = fecha_1 - 18 años

He visto ejemplos en internet, pero transforman la fecha en milisegundos para despues hacer la comparacion. Supongo que existe otra forma de hacerlo, sin necesidad de utilizar librerias externas

Muchas gracias por ayuda
  #2 (permalink)  
Antiguo 05/02/2015, 08:04
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 5 meses
Puntos: 24
Respuesta: Restar años a una fecha en Java

Lo puedes hacer utilizando la clase abstracta Calendar (no es una librería externa, pues pertenece al paquete java.util.*).
Calendar dispone del método público getInstance el cual te devolverá un objeto Calendar con la fecha y hora actual.
Código Java:
Ver original
  1. Calendar rightNow = Calendar.getInstance();
También dispones de un método setTime el cual coloca al objeto Calendar con la fecha del objeto Date que recibe como parámetro.
Código Java:
Ver original
  1. rightNow.setTime(fecha_1);
Por último, tienes el método get, con el cual puedes obtener el valor del campo que pases como parámetro.
Código Java:
Ver original
  1. int anio = rightNow.get(Calendar.YEAR);
Los valores del parámetro pueden ser Calendar.ERA, Calendar.YEAR, Calendar.MONTH, Calendar.WEEK_OF_YEAR, etc.
Y así como dispones del método get, también dispones del método set con el cual puedes colocar el valor del campo que pases como parámetro.

Ya con todo esto puedes resolver tu problema.

Puedes (mejor dicho, debes) consultar la documentación de la clase Calendar en el siguiente enlace:
http://docs.oracle.com/javase/7/docs.../Calendar.html

Etiquetas: fecha, restar
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 20:19.