Duration包常用方法及示例
Posted 小蜗牛爱远行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Duration包常用方法及示例相关的知识,希望对你有一定的参考价值。
package com.itranswarp.learnjava;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class TimeTest
public static void main(String[] args)
String min = "2021-05-01 00:00:01";
String max = "2021-05-31 23:59:59";
LocalDateTime date = LocalDateTime.now();
LocalDateTime start = LocalDateTime.parse(min, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime end = LocalDateTime.parse(max, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Duration duration = Duration.between(start, end);
System.out.println("获取两个对象间天数(一个月最大返回30):" + duration.toDays());
//获取两个对象间天数(一个月最大返回30):30
System.out.println("获取两个对象间小时:" + duration.toHours());
//获取两个对象间小时(一个月最大返回):743
System.out.println("返回此持续时间的副本,长度为正,获取秒数:" + duration.abs().getSeconds());
//返回此持续时间,长度为正:2678398
System.out.println("将此持续时间添加到指定的时态对象: " + duration.addTo(date));
//将此持续时间添加到指定的时态对象: 2021-07-05T10:13:28.891
/**
* int compareTo(Duration otherDuration)
* 将此持续时间与指定的持续时间进行比较
*
* boolean equals(Object otherDuration)
* 检查此持续时间是否等于指定的持续时间。
*
* static Duratio from(TemporalAmount amount)
* 从时间量获得持续时间的实例。
*
* static Duratio from(TemporalAmount amount)
* 从时间量获得持续时间的实例。
*
* long get(TemporalUnit unit)
* 获取所请求单元的值。
*
* int getNano()
* 获取此持续时间内秒数内的纳秒数。
*
* List 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()
* 返回此持续时间的副本,其长度为negated。
*
* Duration multipliedBy(long multiplicand)
* 返回此持续时间的副本乘以标量。
*
* static Duration ofDays(long days)
* 获得表示多个标准24小时工作日的持续时间。
*
* static Duration ofHours(long hours)
* 获得表示多个标准小时的持续时间。
*
* static Duration ofMinutes(long minutes)
* 获得表示多个标准分钟的持续时间。
*
* static Duration ofMillis(long millis)
* 获得表示毫秒数的持续时间。
*
* 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 toMillis()
* 将此持续时间转换为总长度(以毫秒为单位)。
*
* long toMinutes()
* 获取此持续时间内的分钟数。
*
* long toNanos()
* 将此持续时间转换为以纳秒为单位的总长度,表示为long。
*
* String toString()
* 使用基于ISO-8601秒的表示形式的此持续时间的字符串表示形式,例如PT8H6M12.345S。
*
* Duration withNanos(int nanoOfSecond)
* 使用指定的纳秒数返回此持续时间的副本。
*
* Duration withSeconds(long seconds)
* 以指定的秒数返回此持续时间的副本。
* */
以上是关于Duration包常用方法及示例的主要内容,如果未能解决你的问题,请参考以下文章