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 时间区间的加减 省略  ============
            
    }
  • 相关阅读:
    用C#开发.NET CF 蓝牙通信模块
    记录台湾民众生活:一起来看看台湾的物价
    .NET Socket开发之同步Socket实现两例
    SOA和BPM结合的三种方法
    Why we chose ASP.NET to run our startup
    用JScript.net写.net应用程序
    Linux至少有五大点比Vista更好
    Windows 窗体的.Net 框架绘图技术
    优化增强您的Visual C++应用程序
    VS 2008和.NET 3.5 Beta2新特性介绍
  • 原文地址:https://www.cnblogs.com/MrRightZhao/p/12005251.html
Copyright © 2011-2022 走看看