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());
}
}
立即测试
输出:
43199
86399
评论前必须登录!
注册