探讨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类主要就是操作 时分秒 对相近的时间操作,
基本上方法名字大概用法都一样.不列了 下班了
多看下源码一看就懂.