Java Duration类

Java Duration类用于以秒和纳秒为单位测量时间。它继承了Object类并实现Comparable接口。
Java Duration类声明让我们来看一下java.time.Duration类的声明。

public final class Duration extends Object implements TemporalAmount, Comparable< Duration> , Serializable

Java持续时间的方法
方法 描述
Temporal addTo(Temporal temporal) 它用于将此持续时间添加到指定的时间对象。
static Duration between(Temporal startInclusive, Temporal endExclusive) 它用于获取表示两个时间对象之间持续时间的持续时间。
long get(TemporalUnit unit) 用于获取所请求单位的值。
boolean isNegative() 用于检查此持续时间是否为负(不包括零)。
boolean isZero() 用于检查此持续时间是否为零长度。
Duration minus(Duration duration) 它用于返回此持续时间的副本, 减去指定的持续时间。
Duration plus(Duration duration) 它用于返回此持续时间的副本, 并添加指定的持续时间。
Java持续时间示例:get()
import java.time.*; import java.time.temporal.ChronoUnit; public class DurationExample1 { public static void main(String[] args) { Duration d = Duration.between(LocalTime.NOON, LocalTime.MAX); System.out.println(d.get(ChronoUnit.SECONDS)); } }

立即测试
输出:
43199

Java持续时间示例:isNegative()
import java.time.*; public class DurationExample2 { public static void main(String[] args) { Duration d1 = Duration.between(LocalTime.MAX, LocalTime.NOON); System.out.println(d1.isNegative()); Duration d2 = Duration.between(LocalTime.NOON, LocalTime.MAX); System.out.println(d2.isNegative()); } }

立即测试
输出:
true false

Java持续时间示例:between()
import java.time.*; import java.time.temporal.ChronoUnit; public class DurationExample3 { public static void main(String[] args) { Duration d = Duration.between(LocalTime.NOON, LocalTime.MAX); System.out.println(d.get(ChronoUnit.SECONDS)); } }

立即测试
输出:
43199

Java持续时间示例:minus()
import java.time.*; public class DurationExample4 { public static void main(String[] args) { Duration d1 = Duration.between(LocalTime.NOON, LocalTime.MAX); System.out.println(d1.getSeconds()); Duration d2 = d1.minus(d1); System.out.println(d2.getSeconds()); } }

立即测试
输出:
43199 0

Java持续时间示例:plus()
import java.time.*; public class DurationExample5 { public static void main(String[] args) { Duration d1 = Duration.between(LocalTime.NOON, LocalTime.MAX); System.out.println(d1.getSeconds()); Duration d2 = d1.plus(d1); System.out.println(d2.getSeconds()); } }

立即测试
【Java Duration类】输出:
43199 86399

    推荐阅读