很好用的java 8 的 Period 和 Duration 类!!!!

在这里插入图片描述

探讨java8的 Period 和 Duration类

本文 我们一起看看java8的两个操作时间类 Period和Duration,
终于可以不再有些操作上脑壳痛了;
两者的差距-> Period是对日期的(年月日);
Duration是对时间的(时分秒);

Period类

Period表示的是一段时间的 年月日…其中between()的方法 就是为了计算两个日期的 相差年或月或日
在这里插入图片描述
返回的是Period对象,可以获取日期单元了:
在这里插入图片描述
调用isNegative()方法 就可以判断两个时间大小()
在这里插入图片描述
前者大返回true ; 后者大返回false

这种情况可以如果调用有week 没有day 就自动按时间的换算进行比较;

  Period fromUnits = Period.of(3, 10, 10);
  Period fromDays = Period.ofDays(50);
  Period fromMonths = Period.ofMonths(5);
  Period fromYears = Period.ofYears(10);
  Period fromWeeks = Period.ofWeeks(40);
  //true
   System.out.print(assertEquals(280, fromWeeks.getDays()));

period的值可以通过plusX()、minusX()方法进行增加或减少,其中X表示日期单元:

assertEquals(56, period.plusDays(50).getDays());
assertEquals(9, period.minusMonths(2).getMonths());

也可以通过 plusX()、minusX()方法增加或减少Duration对象,其中X表示days, hours, millis, minutes, nanos 或 seconds:

assertEquals(120, duration.plusSeconds(60).getSeconds());     
assertEquals(30, duration.minusSeconds(30).getSeconds());

Duration类主要就是操作 时分秒 对相近的时间操作,
基本上方法名字大概用法都一样.不列了 下班了

多看下源码一看就懂.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据你提供的引用内容来看,这段代码计算的是使用`java.time.Duration`来计算`LocalDateTime`型的起始时间和结束时间之间的时间间隔。具体代码如下所示: ```java java.time.Duration duration = java.time.Duration.between(LocalDateTime.startTime, LocalDateTime.endTime); ``` 这段代码首先使用`Duration.between()`方法来计算起始时间和结束时间之间的时间差异,并将结果赋值给`duration`变量。注意,这里的`startTime`和`endTime`是占位符,应该替换为实际的`LocalDateTime`对象。 通过使用`Duration`的不同方法,你可以获取时间间隔的日、时、分、秒和毫秒等单位的值。例如,可以使用`toDays()`方法获取时间间隔的天数,使用`toHours()`方法获取小时数,使用`toMinutes()`方法获取分钟数,使用`getSeconds()`方法获取秒数,使用`toMillis()`方法获取毫秒数。 总结来说,以上代码用于计算指定的起始时间和结束时间之间的时间间隔,并且通过`Duration`提供的方法可以获取不同时间单位的值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Java8中计算时间的四种方式及区别PeriodDuration、ChronoUnit、Until](https://blog.csdn.net/weixin_42170100/article/details/124735058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值