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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。