java.time.Duration

1 java.time.Duration介绍

Java Duration类用于以秒和纳秒为单位测量时间。它继承了Object类并实现Comparable接口。

2 java.time.Duration声明

让我们来看一下java.time.Duration类的声明。

public final class Duration extends Object   
implements TemporalAmount, Comparable<Duration>, Serializable  

3 java.time.Duration方法

方法 描述
Duration abs() 返回此持续时间的副本,长度为正。
Temporal addTo(Temporal temporal) 将此持续时间添加到指定的时间对象。
static Duration between(Temporal startInclusive, Temporal endExclusive) 获得一个Duration,表示两个时间对象之间的持续时间。
int compareTo(Duration otherDuration) 将此持续时间与指定的持续时间进行比较。
Duration dividedBy(long divisor) 返回此持续时间的副本除以指定值。
boolean equals(Object otherDuration) 检查此持续时间是否等于指定的持续时间。
static Duratio from(TemporalAmount amount) 从时间量获取Duration的实例。
long get(TemporalUnit unit) 获取所请求单位的值。
int getNano() 获取此持续时间中每秒内的纳秒数。
long getSeconds() 获取此持续时间的秒数。
List<TemporalUnit> getUnits() 获取此持续时间支持的单位集。
int hashCode() 此持续时间的哈希码。
boolean isNegative() 检查此持续时间是否为负(不包括零)。
boolean isZero() 检查此持续时间是否为零长度。
Duration minus(Duration duration) 返回此持续时间的副本,减去指定的持续时间。
Duration minus(long amountToSubtract, TemporalUnit unit) 返回此持续时间的副本,减去指定的持续时间。
Duration minusDays(long daysToSubtract) 返回此持续时间的副本,并减去标准24小时内的指定持续时间。
Duration minusHours(long hoursToSubtract) 返回此持续时间的副本,其中减去指定的持续时间(以小时为单位)。
Duration minusMillis(long millisToSubtract) 返回此持续时间的副本,其中减去指定的持续时间(以毫秒为单位)。
Duration minusMinutes(long minutesToSubtract) 返回此持续时间的副本,其中减去指定的持续时间(以分钟为单位)。
Duration minusNanos(long nanosToSubtract) 返回此持续时间的副本,其中减去指定的持续时间(以纳秒为单位)。
Duration minusSeconds(long secondsToSubtract) 返回此持续时间的副本,减去指定的持续时间(以秒为单位)。
Duration multipliedBy(long multiplicand) 返回此持续时间乘以标量的副本。
Duration negated() 返回此持续时间的副本,长度取反。
static Duration of(long amount, TemporalUnit unit) 获取一个以指定单位表示金额的持续时间。
static Duration ofDays(long days) 获得一个持续时间,表示多个标准的24小时工作日。
static Duration ofHours(long hours) 获得一个代表多个标准小时数的持续时间。
static Duration ofMillis(long millis) 获得一个表示毫秒数的持续时间。
static Duration ofMinutes(long minutes) 获得一个代表多个标准分钟的持续时间。
static Duration ofNanos(long nanos) 获得一个持续时间,表示多个纳秒。
static Duration ofSeconds(long seconds) 获得一个表示秒数的持续时间。
static Duration ofSeconds(long seconds, long nanoAdjustment) 获得一个表示秒数的持续时间,并以纳秒为单位进行调整。
static Duration parse(CharSequence text) 从文本字符串(例如PnDTnHnMn.nS)获取持续时间。
Duration plus(Duration duration) 返回此持续时间的副本,其中添加了指定的持续时间。
Duration plus(long amountToAdd, TemporalUnit unit) 返回此持续时间的副本,其中添加了指定的持续时间。
Duration plusDays(long daysToAdd) 返回此持续时间的副本,并添加指定的持续时间(标准24小时)。
Duration plusHours(long hoursToAdd) 返回此持续时间的副本,并添加指定的持续时间(以小时为单位)。
Duration plusMillis(long millisToAdd) 返回此持续时间的副本,并添加指定的持续时间(以毫秒为单位)。
Duration plusMinutes(long minutesToAdd) 返回此持续时间的副本,并添加指定的持续时间(以分钟为单位)。
Duration plusNanos(long nanosToAdd) 返回此持续时间的副本,并添加指定的持续时间(以纳秒为单位)。
Duration plusSeconds(long secondsToAdd) 返回此持续时间的副本,并添加指定的持续时间(以秒为单位)。
Temporal subtractFrom(Temporal temporal) 从指定的时间对象中减去此持续时间。
long toDays() 获取此持续时间中的天数。
long toHours() 获取此持续时间中的小时数。
long toMillis() 将此持续时间转换为总长度(以毫秒为单位)。
long toMinutes() 获取此持续时间中的分钟数。
long toNanos() 将此持续时间转换为表示为long的总长度(以纳秒为单位)。
String toString() 此持续时间的字符串表示形式,使用基于ISO-8601秒的表示形式,例如PT8H6M12.345S。
Duration withNanos(int nanoOfSecond) 返回此持续时间的副本,以指定的纳秒为单位。
Duration withSeconds(long seconds) 返回此持续时间的副本,具有指定的秒数。

4 java.time.Duration案例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.time.Duration的例子
 */
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

5 java.time.Duration案例2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.time.Duration的例子
 */
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

 

热门文章

优秀文章