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