Thursday, October 16, 2025
HomeLanguagesJavaDuration subtractFrom(Temporal) method in Java with Examples

Duration subtractFrom(Temporal) method in Java with Examples

The subtractFrom(Temporal) method of Duration Class in java.time package is used subtract this duration to the specified temporal object, passed as the parameter.

Syntax:

public Temporal subtractFrom?(Temporal temporalObject)

Parameters: This method accepts a parameter temporalObject which is the amount to be adjusted in this duration. It should not be null.

Return Value: This method returns an object of the same type with the temporalObject adjusted to it.

Exception: This method throws:

  • DateTimeException: if unable to subtract.
  • ArithmeticException: if numeric overflow occurs.

Below examples illustrate the Duration.subtractFrom() method:

Example 1:




// Java code to illustrate subtractFrom() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Duration 1 using parse() method
        Duration duration1
            = Duration.parse("P2DT3H4M");
  
        // Get the time to be adjusted
        LocalDateTime currentTime
            = LocalDateTime.now();
  
        System.out.println("Original time: "
                           + currentTime);
  
        // Adjust the time
        // using subtractFrom() method
        System.out.println(
            duration1
                .subtractFrom(currentTime));
    }
}


Output:

Original time: 2018-11-26T06:48:30.256
2018-11-24T03:44:30.256

Example 2:




// Java code to illustrate subtractFrom() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Duration
        Duration duration2
            = Duration.ofDays(-5);
  
        // Get the time to be adjusted
        LocalDateTime currentTime
            = LocalDateTime.now();
  
        System.out.println("Original time: "
                           + currentTime);
  
        // Adjust the time
        // using subtractFrom() method
        System.out.println(
            duration2
                .subtractFrom(currentTime));
    }
}


Output:

Original time: 2018-11-26T06:48:33.319
2018-12-01T06:48:33.319

Reference: https://docs.oracle.com/javase/9/docs/api/java/time/Duration.html#subtractFrom-java.time.temporal.Temporal-

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