java8計算時間差


示例1:計算指定時間單位的時間差

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

// LocalDateTime fromDate= LocalDateTime.now();
// LocalDateTime toDate= LocalDateTime.now();
Instant fromDate=Instant.now();
Instant toDate=Instant.now();
long minutes = ChronoUnit.MINUTES.between(fromDate, toDate);
long hours = ChronoUnit.HOURS.between(fromDate, toDate);

 注意:由於LocalDateTime和Instant是為不同的目的而設計的,一個是為了便於人閱讀使用,另一個是為了便於機器處理,所以你不能將二者混用。

不能向between方法傳遞一個LocalDate對象做參數,否則會拋異常 java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit:

 

示例2:計算你的年齡

LocalDate today = LocalDate.now();
LocalDate birthday = LocalDate.of(1996, Month.JANUARY, 1);

Period p = Period.between(birthday, today);
long p2 = ChronoUnit.DAYS.between(birthday, today);

System.out.println("你活了" + p.getYears() + "年" + p.getMonths() +
                "個月零" + p.getDays() +
                " 天(共" + p2 + "天)");
 
//輸出:你活了22年11個月零18 天(共8388天)

參考文檔:https://docs.oracle.com/javase/tutorial/datetime/iso/period.html


免責聲明!

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



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