当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.time.Duration用法及代码示例


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


相关用法


注:本文由纯净天空筛选整理自aman neekhara大神的英文原创作品 java.time.Duration Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。