Duration 是 Java 时间库中存在的基于值的类。它用于获取基于时间的时间量。该类是不可变的且线程安全的。本文介绍了此类中存在的所有方法以及使用类方法的一些基本示例。
该类实现 Serialized、Comparable<Duration>、TemporalAmount 接口。
课堂上出现的字段:
场地 | 说明 |
---|---|
静态持续时间 | 它是零持续时间的常数。 |
类中存在的方法:
方法 | 说明 |
---|---|
abs() | 此方法返回长度的正副本 |
addTo(Temporal temporal) | 此方法将此持续时间添加到指定的时间对象。 |
之间的持续时间(时间开始包含,时间结束不包含) | 此方法查找两个 Temporal 对象之间的持续时间。 |
compareTo(Duration otherDuration) | 此方法将此持续时间与指定的持续时间进行比较。 |
dividedBy(long divisor) | 此方法返回此持续时间除以指定值的副本。 |
equals(Object otherDuration) | 此方法检查此持续时间是否等于指定的持续时间。 |
from(TemporalAmount amount) | 此方法从时间量中获取 Duration 实例。 |
get(TemporalUnit unit) | 该方法获取所请求单位的值。 |
getNano() | 此方法获取此持续时间内每秒内的纳秒数。 |
getSeconds() | 此方法获取此持续时间的秒数。 |
getUnits() | 此方法获取此持续时间支持的单位集。 |
hashCode() | 此持续时间的哈希码。 |
isNegative() | 此方法检查此持续时间是否为负数(不包括零)。 |
isZero() | 此方法检查此持续时间是否为零长度。 |
minus(Duration duration) | 此方法返回此持续时间的副本,并减去指定的持续时间。 |
minus(long amountToSubtract, TemporalUnit unit) | 此方法返回此持续时间的副本,并减去指定的持续时间。 |
minusDays(long daysToSubtract) | 此方法返回此持续时间的副本,并减去标准 24 小时日中的指定持续时间。 |
minusHours(long hoursToSubtract) | 此方法返回此持续时间的副本,并减去指定的持续时间(以小时为单位)。 |
minusMillis(long millisToSubtract) | 此方法返回此持续时间的副本,并减去指定的持续时间(以毫秒为单位)。 |
minusMinutes(long minutesToSubtract) | 此方法返回此持续时间的副本,并减去指定的持续时间(以分钟为单位)。 |
minusNanos(long nanosToSubtract) | 此方法返回此持续时间的副本,并减去指定的纳秒持续时间。 |
minusSeconds(long secondsToSubtract) | 此方法返回此持续时间的副本,并减去指定的持续时间(以秒为单位)。 |
multipliedBy(long multiplicand) | 此方法返回此持续时间乘以标量的副本。 |
negated() | 此方法返回此持续时间的副本,其中长度取反。 |
of(long amount, TemporalUnit unit) | 此方法获取表示指定单位数量的 Duration。 |
ofDays(long days) | 此方法获取表示标准 24 小时天数的 Duration。 |
ofHours(long hours) | 此方法获取表示标准小时数的 Duration。 |
ofMillis(long millis) | 此方法获取表示毫秒数的 Duration。 |
ofMinutes(long minutes) | 此方法获取表示标准分钟数的 Duration。 |
ofNanos(long nanos) | 此方法获取表示纳秒数的持续时间。 |
ofSeconds(long seconds) | 此方法获取表示秒数的 Duration。 |
ofSeconds(long seconds, long nanoAdjustment) | 此方法获取表示秒数的持续时间和以纳秒为单位的调整。 |
parse(CharSequence text) | 此方法从文本字符串(例如 PnDTnHnMn.nS)获取持续时间。 |
plus(Duration duration) | 此方法返回此持续时间的副本,并添加了指定的持续时间。 |
plus(long amountToAdd, TemporalUnit unit) | 此方法返回此持续时间的副本,并添加了指定的持续时间。 |
plusDays(long daysToAdd) | 此方法返回此持续时间的副本,并添加标准 24 小时天数中的指定持续时间。 |
plusHours(long hoursToAdd) | 此方法返回此持续时间的副本,并添加指定的持续时间(以小时为单位)。 |
plusMillis(long millisToAdd) | 此方法返回此持续时间的副本,并添加指定的持续时间(以毫秒为单位)。 |
plusMinutes(long minutesToAdd) | 此方法返回此持续时间的副本,并添加指定的持续时间(以分钟为单位)。 |
plusNanos(long nanosToAdd) | 此方法返回此持续时间的副本,并添加指定的纳秒持续时间。 |
plusSeconds(long secondsToAdd) | 此方法返回此持续时间的副本,并添加指定的持续时间(以秒为单位)。 |
subtractFrom(Temporal temporal) | 此方法从指定的时间对象中减去此持续时间。 |
toDays() | 此方法获取此持续时间的天数。 |
toHours() | 此方法获取此持续时间内的小时数。 |
toMillis() | 此方法将此持续时间转换为总长度(以毫秒为单位)。 |
toMinutes() | 此方法获取此持续时间的分钟数。 |
toNanos() | 此方法将此持续时间转换为以纳秒为单位表示为 long 的总长度。 |
toString() | 使用基于 ISO-8601 秒的表示形式的此持续时间的字符串表示形式,例如 PT8H6M12.345S。 |
withNanos(int nanoOfSecond) | 此方法返回此持续时间的副本(具有指定的纳秒)。 |
withSeconds(long seconds) | 此方法返回具有指定秒数的该持续时间的副本。 |
示例 1:此示例说明了 Duration 类的简单使用。
Java
// Importing required classes
import java.time.Duration;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
public class GFG {
public static void main(String[] args) {
// Initializing Duration variable
Duration duration = Duration.between(LocalTime.NOON,LocalTime.MIDNIGHT);
// Printing difference between time in seconds
System.out.println(duration.get(ChronoUnit.SECONDS));
// Finding absolute difference
Duration absDuration = duration.abs();
// Printing absolute time difference in seconds
System.out.println(absDuration.get(ChronoUnit.SECONDS));
}
}
输出
-43200 43200
示例2:
Java
// Importing required classes
import java.time.Duration;
import java.time.temporal.ChronoUnit;
public class GFG {
public static void main(String[] args) {
// Getting duration in an hour
Duration duration = Duration.from(ChronoUnit.HOURS.getDuration());
// Printing duration in minutes
System.out.println(duration.toMinutes());
}
}
输出:
60
相关用法
- Java java.time.Duration.abs()用法及代码示例
- Java java.time.Duration.addTo()用法及代码示例
- Java java.time.Duration.between()用法及代码示例
- Java java.time.Duration.compareTo()用法及代码示例
- Java java.time.Duration.dividedBy()用法及代码示例
- Java java.time.Duration.equals()用法及代码示例
- Java java.time.Duration.from()用法及代码示例
- Java java.time.Duration.get()用法及代码示例
- Java java.time.Duration.getNano()用法及代码示例
- Java java.time.Duration.getSeconds()用法及代码示例
- Java java.time.Duration.getUnits()用法及代码示例
- Java java.time.Duration.hashCode()用法及代码示例
- Java java.time.Duration.isNegative()用法及代码示例
- Java java.time.Duration.isZero()用法及代码示例
- Java java.time.Duration.minus()用法及代码示例
- Java java.time.Duration.minusDays()用法及代码示例
- Java java.time.Duration.minusHours()用法及代码示例
- Java java.time.Duration.minusMillis()用法及代码示例
- Java java.time.Duration.minusMinutes()用法及代码示例
- Java java.time.Duration.minusNanos()用法及代码示例
- Java java.time.Duration.minusSeconds()用法及代码示例
- Java java.time.Duration.multipliedBy()用法及代码示例
- Java java.time.Duration.negated()用法及代码示例
- Java java.time.Duration.of()用法及代码示例
- Java java.time.Duration.ofDays()用法及代码示例
注:本文由纯净天空筛选整理自aman neekhara大神的英文原创作品 java.time.Duration Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。