📌  相关文章
📜  Java中的 Duration minus(long, TemporalUnit) 方法及示例

📅  最后修改于: 2022-05-13 01:55:37.575000             🧑  作者: Mango

Java中的 Duration minus(long, TemporalUnit) 方法及示例

Java.time 包中的Duration 类minus(long, TemporalUnit)方法用于获取此持续时间的不可变副本,其中减去指定的持续时间,作为参数传递。要减去的持续时间是通过转换作为参数传递的单位中的 amountToAdd 来决定的。

句法:

public Duration minus(long amountToAdd, TemporalUnit unit)

参数:此方法接受两个参数:

  • amountToAdd是要减去的金额。它可以是正数或负数,但不能为空。
  • unit是要减去的金额的 TemporalUnit。它不能为空。

返回值:此方法返回一个持续时间,它是现有持续时间的不可变副本,其中减去了持续时间的参数量。

异常:此方法抛出:

  • ArithmeticException : 如果发生数值溢出。
  • UnsupportedTemporalTypeException:如果不支持该单位。

下面的示例说明了 Duration.minus() 方法:

示例 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));
    }
}


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));
    }
}


输出:
PT46H4M

示例 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));
    }
}
输出:
PT-47H-56M

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