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));    }} |
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));    }} |
Original time: 2018-11-26T06:48:33.319 2018-12-01T06:48:33.319
