Thursday, December 11, 2025
HomeLanguagesJavaYearMonth minus(long,unit) method in Java with Examples

YearMonth minus(long,unit) method in Java with Examples

The minus(long, unit) method of YearMonth class is used to return a copy of this Year-month after subtracting the specified amount of TemporalUnit from this Year-month object.An exception is thrown, If the specified unit cannot be subtracted from Year-month. This instance is immutable and unaffected by this method call.

Syntax:

public YearMonth minus(long amountToSubtract, TemporalUnit unit)

Parameters: This method accepts two parameters:

  • amountToSubtract: This parameter represents the amount of the unit to subtract from the result.
  • unit: This parameter represents the unit of the amount to subtract.

Return Value: This method returns a Year-month based on this Year-month with the specified amount subtracted.

Exception: This method throws following Exceptions:

  • DateTimeException – This exception is thrown if the subtraction cannot be made.
  • UnsupportedTemporalTypeException – This exception is thrown if the unit is not supported.
  • ArithmeticException – This exception is thrown if numeric overflow occurs.

Below programs illustrate the minus(long, unit) method:

Program 1:




// Java program to demonstrate
// YearMonth.minus(long, unit) method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // Create a YearMonth object
        YearMonth thisYearMonth = YearMonth.of(2017, 8);
  
        // print instance
        System.out.println("YearMonth :"
                           + thisYearMonth);
  
        // apply minus(long, unit) method
        // subtracting 20 Years
        YearMonth value
            = thisYearMonth.minus(20, ChronoUnit.YEARS);
  
        // print result
        System.out.println("After subtraction YearMonth: "
                           + value);
    }
}


Output:

YearMonth :2017-08
After subtraction YearMonth: 1997-08

Program 2:




// Java program to demonstrate
// YearMonth.minus(long, unit) method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // Create a YearMonth object
        YearMonth thisYearMonth = YearMonth.of(2019, 12);
  
        // print instance
        System.out.println("YearMonth :"
                           + thisYearMonth);
  
        // apply minus(long, unit) method
        // subtracting 30 Months
        YearMonth value
            = thisYearMonth.minus(30, ChronoUnit.MONTHS);
  
        // print result
        System.out.println("After subtraction YearMonth: "
                           + value);
    }
}


Output:

YearMonth :2019-12
After subtraction YearMonth: 2017-06

References:
https://docs.oracle.com/javase/10/docs/api/java/time/YearMonth.html#minus(long, java.time.temporal.TemporalUnit)

RELATED ARTICLES

Most Popular

Dominic
32440 POSTS0 COMMENTS
Milvus
105 POSTS0 COMMENTS
Nango Kala
6811 POSTS0 COMMENTS
Nicole Veronica
11950 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12023 POSTS0 COMMENTS
Shaida Kate Naidoo
6943 POSTS0 COMMENTS
Ted Musemwa
7193 POSTS0 COMMENTS
Thapelo Manthata
6889 POSTS0 COMMENTS
Umr Jansen
6880 POSTS0 COMMENTS