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 時間區間的加減 省略  ============
        
}

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM