LocalDate minusYears() method in Java with Examples

The minusYears() method of a LocalDate class is used to subtract the number of specified years from this LocalDate and return a copy of LocalDate.

This method subtracts the years field in the following steps:

  • Firstly, it subtracts the years from the year field in this LocalDate.
  • Check if the date after subtracting years is valid or not.
  • If the date is invalid then method adjusts the day-of-month to the last valid day.

For example, 2016-02-29 (leap year) minus one year gives date 2015-02-29 but this is an invalid result, so the last valid day of the month, 2015-02-28, is returned. This instance is immutable and unaffected by this method call.

Syntax:

public LocalDate minusYears(long yearsToSubtract)

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



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

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

Below programs illustrate the minusYears() method:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

LocalDate before subtracting years:2020-10-22
LocalDate after  subtracting years:1990-10-22

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

LocalDate before subtracting years: 2020-02-29
LocalDate after  subtracting years: 2041-02-28

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



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Akanksha_Rai