The java.util.Calendar
allows us to do a date arithmetic function such as add or subtract a unit of time to the specified date field.
The method that done this process is the Calendar.add(int field, int amount)
. Where the value of the field can be Calendar.DATE
, Calendar.MONTH
, Calendar.YEAR
. So this mean if you want to subtract in days, months or years use Calendar.DATE
, Calendar.MONTH
or Calendar.YEAR
respectively.
package org.kodejava.util;
import java.util.Calendar;
public class CalendarAddExample {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println("Today : " + cal.getTime());
// Subtract 30 days from the calendar
cal.add(Calendar.DATE, -30);
System.out.println("30 days ago: " + cal.getTime());
// Add 10 months to the calendar
cal.add(Calendar.MONTH, 10);
System.out.println("10 months later: " + cal.getTime());
// Subtract 1 year from the calendar
cal.add(Calendar.YEAR, -1);
System.out.println("1 year ago: " + cal.getTime());
}
}
In the code above we want to know what is the date back to 30 days ago. The sample result of the code is shown below:
Today : Wed Sep 15 17:58:49 CST 2021
30 days ago: Mon Aug 16 17:58:49 CST 2021
10 months later: Thu Jun 16 17:58:49 CST 2022
1 year ago: Wed Jun 16 17:58:49 CST 2021
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024
there is a error in line number 18 semicolon missing ;