Hinzufügen von Tagen zu einem Datum in Java

Wie füge ich x Tage zu einem Datum in Java hinzu?

Zum Beispiel ist mein Datum (TT / MM / JJJJ) = 01/01/2012

Addieren Sie 5 Tage, sollte die Ausgabe 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

Mit der Java 8- API für Datum und Uhrzeit können Sie die LocalDate class verwenden.

 LocalDate.now().plusDays(nrOfDays) 

Siehe das Oracle-Lernprogramm .

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

Sie können auch Tage wie Calendar.add(Calendar.DAY_OF_MONTH, -5); subtrahieren Calendar.add(Calendar.DAY_OF_MONTH, -5);

Hier ist ein einfacher Code, der die Ausgabe als currentdate + D days = some 'x' date (zukünftiges Datum) currentdate :

 DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); Calendar c = Calendar.getInstance(); c.add(Calendar.DATE, 5); System.out.println(dateFormat.format(c.getTime())); 

Wenn Sie Joda-Time verwenden (und es gibt viele gute Gründe, um – eine einfache, intuitive API und Thread-Sicherheit), dann können Sie dies trivial tun:

 (new LocalDate()).plusDays(5); 

zum Beispiel 5 Tage ab heute.

Einfach, ohne andere API:

Um 8 Tage hinzuzufügen:

 Date today=new Date(); long ltime=today.getTime()+8*24*60*60*1000; Date today8=new Date(ltime);