Java的日期与时间java.time.Duration的简介说明

本文介绍了Java 8中的Duration类,用于表示两个Instant之间的不可变时间跨度,包括创建方式、时间访问、计算方法和常用转换。重点讲解了如何利用工厂方法、时间域获取和基本运算实现时间间隔处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:

Java的日期与时间java.time.Duration的简介说明

下文笔者讲述Duration类的简介说明,如下所示

Duration类简介

Duration对象:
    表示两个Instant间的一段时间,是Java 8中加入的新功能

注意事项:
    Duration实例是不可变的
    当创建出对象后就不能改变它的值了
    只能通过Duration的计算方法
    创建出一个新的Durtaion对象

创建Duration实例

使用Duration类的工厂方法来创建一个Duration对象
例:
Duration对象使用between()

Instant first = Instant.now();
Instant second = Instant.now();
Duration duration = Duration.between(first, second);

访问Duration的时间

一个Duration对象里有两个域:
   纳秒值(小于一秒的部分)
   秒钟值(一共有几秒)
   他们的组合表达了时间长度

注意事项:
   1.使用System.getCurrentTimeMillis()时不同
      Duration不包含毫秒这个属性
   2.可通过以下两个方法得到它们的值:
      long seconds =  getSeconds()
      int nanos   =   getNano()
 
     也可以转换整个时间到其它单位
	   如纳秒、分钟、小时、天:
         toNanos()
         toMillis()
         toMinutes()
         toHours()
         toDays()
 
      3.toNanos()与getNano()不同
         toNanos()获得的是Duration整个时间共有多少纳秒
         getNano()只是获得这段时间中小于一秒的部分

Duration计算

Duration类包含一系列的计算方法:
plusNanos()
plusMillis()
plusSeconds()
plusMinutes()
plusHours()
plusDays()
minusNanos()
minusMillis()
minusSeconds()
minusMinutes()
minusHours()
minusDays()
Duration start = ... //定义一个duration实例
//加3天
Duration added      = start.plusDays(3);
//减3天
Duration subtracted = start.minusDays(3);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值