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 时间区间的加减 省略  ============
            
    }
  • 相关阅读:
    什么是被 GC Roots 直接引用的对象?
    什么情况下JVM内存中的一个对象会被垃圾回收?
    图解GC流程
    图解JVM内存区域划分
    图解JVM类加载机制和双亲委派模型
    Nginx 是怎么工作的?
    ThreadLocal 线程本地存储
    centos7 配置阿里镜像
    C# 类库项目 无法创建 “资源字典” 文件
    linux 启动jar包 指定yml配置文件和输入日志文件
  • 原文地址:https://www.cnblogs.com/MrRightZhao/p/12005251.html
Copyright © 2011-2022 走看看