Agregar días a una fecha en Java

¿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); 

java.time

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);