Saturday, October 25, 2025
HomeLanguagesJavaDuration minus(long, TemporalUnit) method in Java with Examples

Duration minus(long, TemporalUnit) method in Java with Examples

The minus(long, TemporalUnit) method of Duration Class in java.time package is used to get an immutable copy of this duration with the specified duration subtracted, passed as the parameter. The duration to be subtracted is decided by converting the amountToAdd in the unit passed as the parameters.

Syntax: 

public Duration minus(long amountToAdd, TemporalUnit unit)

Parameters: This method accepts two parameters:  

  • amountToAdd which is the amount to be subtracted. It can be positive or negative but not null.
  • unit which is the TemporalUnit of the amount to be subtracted. It cannot be null.

Return Value: This method returns a Duration which is an immutable copy of the existing duration with the parameter amount of duration subtracted to it.

Exception: This method throws:  

  • ArithmeticException: if numeric overflow occurs.
  • UnsupportedTemporalTypeException: if the unit is not supported.

Below examples illustrate the Duration.minus() method:

Example 1: 

Java




// Java code to illustrate minus() method
 
import java.time.Duration;
import java.time.temporal.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        // Duration 1 using parse() method
        Duration duration1
            = Duration.parse("P2DT3H4M");
 
        // Get the duration subtracted
        // using minus() method
        System.out.println(duration1
                               .minus(5,
                                      ChronoUnit.HOURS));
    }
}


Output: 

PT46H4M

 

Example 2:

Java




// Java code to illustrate minus() method
 
import java.time.Duration;
import java.time.temporal.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        // Duration 1 using parse() method
        Duration duration1
            = Duration.parse("P0DT0H4M");
 
        // Get the duration subtracted
        // using minus() method
        System.out.println(duration1
                               .minus(2,
                                      ChronoUnit.DAYS));
    }
}


Output: 

PT-47H-56M

 

Reference: https://docs.oracle.com/javase/9/docs/api/java/time/Duration.html#minus-long-java.time.temporal.TemporalUnit-
 

RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS