Reshma Bidikar

In this article, I will be demonstrating how to add a number of days to a Date in Java

Before Java 8

Prior to Java 8, the Date and Calendar classes were available for Date manipulation. They make operations like adding a number of days to a Date very difficult. The following code demonstrates adding days to a date using the Calendar class:

String stringDate="2019-07-15";  
Date date1=new SimpleDateFormat("yyyy-MM-dd").parse(stringDate);  
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
    
// manipulate date
cal.add(Calendar.DATE, 5); 
Date dateWith5Days = cal.getTime();
    
System.out.println(dateWith5Days);

So the above code first uses SimpleDateFormat.parse to convert a String date to a java.util.Date. It then creates a Calendar object corresponding to this date. Finally, it uses the Calendar.add method to add days to the date.

Using Java 8

Java 8 introduced the LocalDate class which makes date manipulations like adding/subtracting days/months very easy. The following code demonstrates this:

LocalDate date = LocalDate.parse("2019-07-15");
    
//add 5 days
LocalDate date2 = date.plusDays(5);
System.out.println("Date "+date+" plus 5 days is "+date2);

So this code first creates a LocalDate object corresponding to the String date. It then invokes the plusDays method to add 5 days to the specified date.

Not only days, the LocalDate class the several methods that allow you to add/subtract months, years from the LocalDate object.

Conclusion