Skip to content
Related Articles

Related Articles

Improve Article
LocalDate minusYears() method in Java with Examples
  • Last Updated : 07 May, 2019

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:




// 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);
    }
}
Output:
LocalDate before subtracting years:2020-10-22
LocalDate after  subtracting years:1990-10-22

Program 2:




// 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);
    }
}
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)

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :