Java教程-Java Duration类

Java Duration类
Java Duration类用于测量以秒和纳秒为单位的时间。它继承自Object类并实现了Comparable接口。
Java Duration类声明
让我们来看一下java.time.Duration类的声明。
public final class Duration extends Object
implements TemporalAmount, Comparable<Duration>, Serializable
Java Duration的方法
方法 | 描述 |
---|---|
Temporal addTo(Temporal temporal) | 将此duration添加到指定的时间对象。 |
static Duration between(Temporal startInclusive, Temporal endExclusive) | 获取表示两个时间对象之间的持续时间的Duration。 |
long get(TemporalUnit unit) | 获取所请求单位的值。 |
boolean isNegative() | 检查此duration是否为负数,不包括零。 |
boolean isZero() | 检查此duration是否为零长度。 |
Duration minus(Duration duration) | 返回此duration减去指定duration的副本。 |
Duration plus(Duration duration) | 返回此duration加上指定duration的副本。 |
Duration abs() | 返回具有正长度的此duration的副本。 |
static Duration between(Temporal startInclusive, Temporal endExclusive) | 获取表示两个时间对象之间的持续时间的Duration。 |
int compareTo(Duration otherDuration) | 将给定的duration与指定的Duration进行比较。 |
int getNano() | 获取此duration中的纳秒数。 |
long getSeconds() | 获取此duration中的秒数。 |
static Duration of(long amount, TemporalUnit unit) | 获取表示指定单位中的量的Duration。 |
static Duration ofDays(long days) | 获取表示标准24小时的天数的Duration。 |
static Duration ofHours(long hours) | 获取表示标准小时数的Duration。 |
static Duration ofMillis(long millis) | 获取表示毫秒数的Duration。 |
static Duration ofMinutes(long minutes) | 获取表示标准分钟数的Duration。 |
static Duration ofNanos(long nanos) | 获取表示纳秒数的Duration。 |
static Duration ofSeconds(long seconds) | 获取表示秒数的Duration。 |
Java Duration示例:get()
DurationExample1.java
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 Duration示例:isNegative()
DurationExample2.java
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 Duration示例:between()
DurationExample3.java
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 Duration示例:minus()
DurationExample4.java
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 Duration示例:plus()
DurationExample5.java
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