Sunday, November 29, 2015

Sumar dias y meses a una fecha Date in JAVA

Si necesitamos sumar dias a una fecha dada en Java, bien sea una fecha tomada actualmente o una fecha que descargamos de la base de la base de datos y deseamos sumarle dias a esa fecha se hace lo siquiente,
"Funciona perfectamente con Date"


Date nuevaFecha = new Date();

                 Calendar cal = Calendar.getInstance();
                 cal.setTime(yourDAte);
                 cal.add(Calendar.DATE, 5);
                 nuevaFecha = cal.getTime();

si necesitamos sumar meses

Calendar cal = Calendar.getInstance();
                 cal.setTime(yourDAte);
                 cal.add(Calendar.MONTH, 5);
                 nuevaFecha = cal.getTime();


de esta manera estamos sumando 5 Meses mas a la fecha obetenida o por la fecha que esta siendo tomada por el sistema con Date nuevaFecha = new Date(); o por una fecha que esta siendo recuperada de una base de datos y realizandole la operacion de sumarle o los dias o los meses


en donde colocamos yourDAte alli podemos colocar el nombre de la variable Date bien tomada del sistema o tomada de una base de datos, y de esta forma estaremos sumando dias a un fecha dad.

3 comments:

cuba said...

Hola te comento lo que me pasa... mi idea es sumarle 7 dias a la fecha del sistema que seria la actual y compararla con una fecha que me aparece en un jtable... e intentado hacer todo pero no me funciona.. no sabes como se hace???? mira te muestro mi codigo para que veas lo que veas lo que hago:

public int fechadate() {
int fila = listaStock.getSelectedRow();
DefaultTableModel modelotabla = (DefaultTableModel) listaStock.getModel();
Date fec = (Date) modelotabla.getValueAt(fila, 7);
String sis = textFecha.getText();
SimpleDateFormat formatoDelTexto = new SimpleDateFormat("yyyy-MM-dd");
Date fecha = null;
Date fechados = null;
int resultado = 0;
try {
fechados = formatoDelTexto.parse(sis);
System.out.println("suma: " + fec);
System.out.println("sist: " + fechados);
} catch (Exception e) {
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(fechados);
calendar.set(Calendar.DATE,7);
Date nuevafecha = calendar.getTime();
if (fec == nuevafecha) {
return resultado = 1;
}
return resultado;
}

ESPERO TU RESPUESTA. MUCHAS GRACIA Y SALUDOS

Pedro Huanco said...

no puedes comparar fechas de esa manera: "if (fec == nuevafecha) {"
Debes usar ".equals("

martin said...

d-_-b

Post a Comment