首页 > 编程语言 >20230523 java.time.Duration

20230523 java.time.Duration

时间:2023-09-05 09:24:32浏览次数:35  
标签:java 纳秒 long 分钟 TemporalAmount 20230523 Duration

介绍

  • java.time.Duration
  • 类声明
@jdk.internal.ValueBased
public final class Duration implements TemporalAmount, Comparable<Duration>, Serializable
  • 两个时刻之间的时间量

  • 两个 Instant 之间的时长是 Duration

  • 在内部,秒数存储在一个 long 中 (seconds),而纳秒数存储在一个额外的 int 中 (nanos)

  • Duration 是基于时间的 TemporalAmount 实现,存储秒和纳秒,但使用其他基于 Duration 的单位(例如分钟、小时和固定的 24 小时制日)提供一些访问

    • Period 是一个基于日期的 TemporalAmount 实现,存储年月日。
  • 实现 TemporalAmount , 可以获取的时间单位:

    • NANOS
    • SECONDS
  • 支持换算为 日、小时、分钟、秒、毫秒、纳秒

API

常量

  • ZERO : PT0S
    • 0s

static

  • between

    • Duration between(Temporal startInclusive, Temporal endExclusive)
  • from

    • Duration from(TemporalAmount amount)
  • of

    • Duration of(long amount, TemporalUnit unit)
  • ofDays

    • Duration ofDays(long days)
  • ofHours

  • ofMinutes

  • ofSeconds

  • ofMillis

  • ofNanos

  • parse

    • toString

public

  • withSeconds

    • 返回具有指定秒数的该持续时间的副本
  • withNanos

    • 返回具有指定纳秒数的该持续时间的副本
  • getSeconds

  • getNano

  • isNegative

    • 是否负值
  • isZero

    • 是否 0
  • truncatedTo

    • 截断
  • toString

    • 返回持续时间的 ISO-8601 表示形式
    • 格式:PTnHnMnS
    • 例如 PT8H6M12.345S 表示8小时6分12.345秒

算数计算

  • minus

  • minusDays

  • minusHours

  • minusMillis

  • minusMinutes

  • minusNanos

  • minusSeconds

  • plus

  • plusDays

  • plusHours

  • plusMillis

  • plusMinutes

  • plusNanos

  • plusSeconds

  • negated

    • 取负值
  • abs

    • 取绝对值
  • multipliedBy

  • dividedBy

根据时间单位获取值

  • toDays
  • toDaysPart
  • toHours
  • toHoursPart
  • toMinutes
    • 换算为分钟单位
    • 例如 PT1H2M3S (1小时2分钟3秒钟) ,结果为 62
  • toMinutesPart
    • 得到分钟的部分值
    • 例如 PT1H2M3S (1小时2分钟3秒钟) ,结果为 2
  • toSeconds
  • toSecondsPart
  • toMillis
  • toMillisPart
  • toNanos
  • toNanosPart

标签:java,纳秒,long,分钟,TemporalAmount,20230523,Duration
From: https://www.cnblogs.com/huangwenjie/p/17545210.html

相关文章

  • 20230522 java.util.Date
    介绍java.util.DatepublicclassDateimplementsjava.io.Serializable,Cloneable,Comparable<Date>Date类代表一个特定的时间点,精度为毫秒在JDK1.1之前,类Date有两个额外的功能。它允许将日期解释为年、月、日、小时、分钟和秒值。它还允许格式化和解析日期字符串。不......
  • 20230522 java.util.Calendar
    介绍java.util.CalendarpublicabstractclassCalendarimplementsSerializable,Cloneable,Comparable<Calendar>抽象类,提供了特定时刻和一组日历域(field)特定时刻用毫秒值表示,从Epoch1970年1月1日0时(GMT,公历)开始的偏移量getInstance方法返回对象支持Locale,Time......
  • 20230522 java.time.temporal.TemporalField
    介绍java.time.temporal.TemporalFieldpublicinterfaceTemporalField时间域Afieldofdate-time,suchasmonth-of-yearorminute-of-hour日期和时间使用域来表示,这些域将时间线划分为对人类有意义的内容。此接口的实现代表这些域。最常用的单位在ChronoField中定义......
  • 20230522 java.time.temporal.TemporalAccessor
    介绍java.time.temporal.TemporalAccessorpublicinterfaceTemporalAccessor时间访问器定义对时间对象的只读访问,例如日期、时间、偏移量或组合日期、时间和偏移量对象的基本接口类型大多数日期和时间信息都可以表示为数字。这些是使用TemporalField建模的,其中使用long......
  • 20230522 java.time.temporal.Temporal
    介绍java.time.temporal.TemporalpublicinterfaceTemporalextendsTemporalAccessor时间定义对时间对象的读写访问的框架级接口日期、时间和偏移量对象的基本接口类型,可以使用进行修改操作APIisSupportedbooleanisSupported(TemporalUnitunit);minusplusunt......
  • 入门篇-其之二-Java基础知识
    目录对第一个Java程序的思考外层结构——类内层结构——main方法输出语句注释单行注释多行注释文档注释文档注释常用标签使用javadoc命令生成网页风格的文档阿里巴巴Java开发手册关于文档注释的规范关键字标识符变量变量的概念定义并初始化变量使用变量的注意事项对第一个Java程......
  • 记一次eclipse导入的JavaEE项目无法连接数据库的排查
    1、问题描述Eclipse导入了一个JavaEE项目在虚拟机环境中新建了一个数据库数据库可以使用本地客户端工具正常连接导入的JavaEE项目修改了数据源配置无法启动相同的数据源配置通过在Idea新建的测试项目可以访问具体报错如下:java.sql.SQLRecoverableException:......
  • java线程原理
    目录Java线程原理为什么需要线程使用Java源码概要Hotspot中的线程线程创建和执行及结束的全流程创建启动运行和退出线程join的原理线程interrupt的原理可中断IO的实现interrupt0的实现Java线程原理单词thread原意是线,在计算机科学引申为一串执行过程组成的线,线程是......
  • Java线程状态
    目录Java线程状态NEWRUNNABLEBLOCKEDWAITINGTIMED_WAITING测试Java线程状态Java中有六个线程状态://Thread.StatepublicenumState{NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED;}这些线程状态表示线程的生命周期,其状态变......
  • Java实现多种单例模式
    packagecom.java3y.austin.test.Mode;importjava.util.HashSet;importjava.util.concurrent.atomic.AtomicBoolean;//饿汉式单例classSingleton1{privateSingleton1(){}privatestaticfinalSingleton1singleton1=newSingleton1();publ......