How to add one day to a date?

user93796 picture user93796 · Jun 17, 2009 · Viewed 541.2k times · Source

I want to add one day to a particular date. How can I do that?

Date dt = new Date();

Now I want to add one day to this date.

Answer

Daniel Rikowski picture Daniel Rikowski · Jun 17, 2009

Given a Date dt you have several possibilities:

Solution 1: You can use the Calendar class for that:

Date dt = new Date();
Calendar c = Calendar.getInstance(); 
c.setTime(dt); 
c.add(Calendar.DATE, 1);
dt = c.getTime();

Solution 2: You should seriously consider using the Joda-Time library, because of the various shortcomings of the Date class. With Joda-Time you can do the following:

Date dt = new Date();
DateTime dtOrg = new DateTime(dt);
DateTime dtPlusOne = dtOrg.plusDays(1);

Solution 3: With Java 8 you can also use the new JSR 310 API (which is inspired by Joda-Time):

Date dt = new Date();
LocalDateTime.from(dt.toInstant()).plusDays(1);