zoukankan      html  css  js  c++  java
  • Duration和Period的区别--通俗易懂

    在jdk1.8以后,对表示日期时间的类型进行了重新分类,这里出现了2个新的类,Duraction 和Period

    Duraction表示:时间的区间,用来度量秒和纳秒之间的时间值

    Period表示:一段时间的区间,用来度量年月日和几天之间的时间值

    那清楚了这个类度量的时间范围,那么操作api那岂不是易如反掌 

    如果对LocalDate LocalTime LocalDateTime Instant不熟悉的,可以看LocalDate LocalTime LocalDateTime Instant的操作与使用

    public static void testDuration() {
            LocalTime localTime = LocalTime.now();
            LocalTime localTime2 = LocalTime.of(19, 19, 19);
            Duration duration = Duration.between(localTime, localTime2);
            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 时间区间的加减 省略  ============
            
    }
  • 相关阅读:
    显著提升程序员身心健康和工作效率的装备有哪些?
    谁控制了我们的浏览器?
    利用Http Authentication Url+csrf劫持路由器DNS
    如​何​删​除​G​P​T​保​护​分​区
    Linux定时器的使用
    缺少 mcrypt 扩展。请检查 PHP 配置。(phpmyadmin)
    xxx is not in the sudoers file
    linux mysql 找不到 <mysql/mysql.h>
    C++面试常见问题(持续更新)
    代码模板(new)
  • 原文地址:https://www.cnblogs.com/MrRightZhao/p/12005251.html
Copyright © 2011-2022 走看看