Duration和Period的区别--通俗易懂
在jdk1.8以后,对表示日期时间的类型进行了重新分类,这里出现了2个新的类,Duraction 和Period
Duraction表示:时间的区间,用来度量秒和纳秒之间的时间值
Period表示:一段时间的区间,用来度量年月日和几天之间的时间值
那清楚了这个类度量的时间范围,那么操作api那岂不是易如反掌
如果对LocalDate LocalTime LocalDateTime Instant不熟悉的,可以看LocalDate LocalTime LocalDateTime Instant的操作与使用
public static void testDuration() { LocalTime currentLocalTime = LocalTime.now(); LocalTime stopLocalTime = LocalTime.of(19, 19, 19); Duration duration = Duration.between(currentLocalTime, stopLocalTime); System.out.println(duration); System.out.println(duration.isZero()); //Duration区间是否为0 System.out.println(duration.isNegative()); //Duration区间是否为负 System.out.println(duration.getSeconds()); //Duration区间值的秒数 System.out.println(duration.getNano()); //Duration区间值的纳秒数 System.out.println(duration.getUnits()); //Duration的度量单位 System.out.println(duration.toDays()); //Duration区间相差几天 System.out.println(duration.toHours()); //Duration区间差几小时 System.out.println(duration.toMinutes()); //Duration区间相差几分钟 System.out.println(duration.toMillis()); //Duration区间相差几毫秒 //============ duration 时间区间的加减 省略 ============ }
public static void testPeriod() { LocalDate localDate = LocalDate.now(); LocalDate localDate2 = LocalDate.of(2020, 12, 12); Period period = Period.between(localDate, localDate2); System.out.println(period); System.out.println(period.isZero()); //区间是否为0 System.out.println(period.isNegative()); //区间是否为为负 System.out.println(period.getYears()); //区间的相差几年 System.out.println(period.getMonths()); //区间的相差几月 System.out.println(period.getDays()); //区间的相差几日 System.out.println(period.toTotalMonths()); //区间相差多少个月 //============ duration 时间区间的加减 省略 ============ }
由于本人是自己学习总结出来的,有不足之处,请各位看官批评指出,我将及时改正,以提高知识总结的正确性和严谨性,为大家学习提供方便!!!
如若转载,请注明出处!!!