Java8 time計算時間差


最近使用Java8編寫代碼時,需要計算時間差,現整理如下

前言

本次使用了Java8提供的ChronoUnit工具類,它主要提供以下幾種時間維度

枚舉

枚舉 說明
NANOS 毫微秒(毫秒的1000000分之一)
MICROS 微秒(毫秒的1000分之一)
MILLIS 毫秒
SECONDS
MINUTES 分鍾
HOURS 小時
HALF_DAYS 半天
DAYS
WEEKS
MONTHS
YEARS
DECADES 十年
CENTURIES 世紀(百年)
MILLENNIA 千年
ERAS 紀元(1000_000_000L年)

枚舉提供一個betwwen方法,接收兩個參數,都是Temporal類型。
Temporal是LocalDateLocalTimeLocalDateTime的聲明接口,因此可以直接傳遞我們常用的時間類。

示例

LocalDateTime time1 = LocalDateTime.of(2019, 11, 1, 0, 0);
LocalDateTime time2 = LocalDateTime.of(2019, 12, 2, 0, 0);

System.out.println("===輸出秒===");
System.out.println(ChronoUnit.SECONDS.between(time1, time2));
System.out.println("===========");

System.out.println("===輸出小時===");
System.out.println(ChronoUnit.HOURS.between(time1, time2));
System.out.println("===========");

System.out.println("===輸出半天===");
System.out.println(ChronoUnit.HALF_DAYS.between(time1, time2));
System.out.println("===========");

System.out.println("===輸出天===");
System.out.println(ChronoUnit.DAYS.between(time1, time2));
System.out.println("===========");

System.out.println("===輸出周===");
System.out.println(ChronoUnit.WEEKS.between(time1, time2));
System.out.println("===========");

System.out.println("===輸出月===");
System.out.println(ChronoUnit.MONTHS.between(time1, time2));
System.out.println("===========");

System.out.println("===輸出年===");
System.out.println(ChronoUnit.YEARS.between(time1, time2));
System.out.println("===========");

輸出結果

===輸出秒===
2678400
===========
===輸出小時===
744
===========
===輸出半天===
62
===========
===輸出天===
31
===========
===輸出周===
4
===========
===輸出月===
1
===========
===輸出年===
0
===========


免責聲明!

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



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