How to Add or Subtract Months from a Date



This code example shows how to add and remove months from a date using an instance of the Calendar class.
The method incrementMonths takes two parameters, the Calendar object and the number of months to add.
The method decrementHours takes the same parameters and decrement the Calendar object with the number of months passed to it.
Note that the actuall call to the calendar is to the same method, add(), but when decrementing a negative value is passed.
To tell the add() method that it is the month we want to increment or decrement we use its constant variable MONTH.

The main method creates a Calendar object and print out the current date / time.
Then it instantiates a new Main object and call both methods with the calendar instance as parameter along with the number of months.


import java.util.Calendar;


/**
 *
 * @author www.javadb.com
 */

public class Main {

    public void incrementMonths(Calendar cal, int months) {

        cal.add(Calendar.MONTH, months);
        System.out.println("Date after increment: " + cal.getTime());
    }

    public void decrementMonths(Calendar cal, int months) {

        cal.add(Calendar.MONTH, months);
        System.out.println("Date after decrement: " + cal.getTime());

    }
    /**
     * @param args the command line arguments
     */

    public static void main(String[] args) {

        Calendar cal = Calendar.getInstance();
        System.out.println("Now : " + cal.getTime());
        Main main = new Main();
        main.incrementMonths(cal, 1);
        main.decrementMonths(cal, -2);
    }
}


Do you know your Java?
Take a Ten-Question-Java-Quiz!

Bookmark and Share




Need help with your Java code? It's secure and confidential.
This is how it works:
Send a detailed description of what you need help with, the more details the better. Also provide a deadline for when it has to be finished. More time means better chance of putting your request into the schedule.

If the request is serious you will shortly receive an email with the price, to which you have to respond if you accept.

Once you have accepted, the work will begin on developing your code by an experienced Java developer. When the code is finished a link to a secure payment will be sent to you.

The source code is then sent to you once the payment is completed.

IMPORTANT! The request needs to be very detailed, else it may be ignored.


Write your detailed request here:

E-mail address: