Open In App

LocalDate minusMonths() method in Java with Examples

The minusMonths() method of LocalDate class in Java is used to subtract the number of specified months from this LocalDate and return a copy of LocalDate.
This method subtracts the months field in the following steps:

For example, 2018-07-31 minus one month gives date 2018-06-31 but this is invalid result, so the last valid day of the month, 2018-06-30, is returned.This instance is immutable and unaffected by this method call.



Syntax:

public LocalDate minusMonths(long monthsToSubtract)

Parameters: This method accepts a single parameter monthsToSubtract which represents the months to subtract, may be negative.



Return value: This method returns a LocalDate based on this date with the months subtracted, not null.

Exception: This method throws DateTimeException if the result exceeds the supported date range.

Below programs illustrate the minusMonths() method:
Program 1:




// Java program to demonstrate
// LocalDate.minusMonths() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a LocalDate object
        LocalDate date
            = LocalDate.parse("2018-11-13");
  
        // print instance
        System.out.println("LocalDate before"
                           + " subtracting months: " + date);
  
        // subtract 15 months
        LocalDate returnvalue
            = date.minusMonths(15);
  
        // print result
        System.out.println("LocalDate after "
                           + " subtracting months: " + returnvalue);
    }
}

Output:
LocalDate before subtracting months: 2018-11-13
LocalDate after  subtracting months: 2017-08-13

Program 2:




// Java program to demonstrate
// LocalDate.minusMonths() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a LocalDate object
        LocalDate date
            = LocalDate.parse("2018-12-31");
  
        // print instance
        System.out.println("LocalDate before"
                           + " subtracting months: " + date);
  
        // subtract 3 months
        LocalDate returnvalue
            = date.minusMonths(3);
  
        // print result
        System.out.println("LocalDate after "
                           + " subtracting months: " + returnvalue);
    }
}

Output:
LocalDate before subtracting months: 2018-12-31
LocalDate after  subtracting months: 2018-09-30

References:
https://docs.oracle.com/javase/10/docs/api/java/time/LocalDate.html#minusMonths(long)


Article Tags :