¿Cómo agrego x días a una fecha en Java?
Por ejemplo, mi fecha es (dd / mm / aaaa) = 01/01/2012
Añadiendo 5 días, la salida debería ser 06/01/2012
.
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Calendar c = Calendar.getInstance(); c.setTime(new Date()); // Now use today date. c.add(Calendar.DATE, 5); // Adding 5 days String output = sdf.format(c.getTime()); System.out.println(output);
Con Java 8 Date and Time API puede usar la clase LocalDate
.
LocalDate.now().plusDays(nrOfDays)
Vea el Tutorial de Oracle .
Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 1); cal.set(Calendar.MONTH, 1); cal.set(Calendar.YEAR, 2012); cal.add(Calendar.DAY_OF_MONTH, 5);
También puede restar días como Calendar.add(Calendar.DAY_OF_MONTH, -5);
Aquí hay un código simple para dar salida como currentdate
+ D days
= some 'x' date
(fecha futura):
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); Calendar c = Calendar.getInstance(); c.add(Calendar.DATE, 5); System.out.println(dateFormat.format(c.getTime()));
Si está usando Joda-Time (y hay muchas buenas razones para una API simple e intuitiva y seguridad de subprocesos), puede hacerlo de manera trivial:
(new LocalDate()).plusDays(5);
para dar 5 días a partir de hoy, por ejemplo.
Simple, sin ninguna otra API:
Para agregar 8 días:
Date today=new Date(); long ltime=today.getTime()+8*24*60*60*1000; Date today8=new Date(ltime);