Open In App

Duration subtractFrom(Temporal) method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

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-



Last Updated : 26 Nov, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads