有一種low的方式,就是你把兩個時間都換成秒,然后除以一天的秒數,然后向上取整,就是算的天數。但是這么實現太low啦。
jdk有高級的API,我們為啥還要自己去實現呢,問題就是我們不知道。
所以,我在這寫個筆記,記錄下,jdk 1.8 是怎么做的。
/** * 計算兩個時間點之間的天數 */ private static void getBetweenDay() { LocalDate start = LocalDate.of(2018, 2, 12); LocalDate now = LocalDate.now(); System.out.println("兩個時間之間的天數是:" + TimesUtils.getBetweenDay(start, now) + " 天。"); } /** * 計算兩個時間點之間的天數 */ public static long getBetweenDay(LocalDate start, LocalDate end) { return end.toEpochDay() - start.toEpochDay(); }
后面的那個方法就是重點啦。
LocalDate.toEpochDay()。
將日期轉換成Epoch 天,Epoch就是從1970-01-01(ISO)。開始的天數,和那個時間戳是一個道理,時間戳是秒數。
文章是簡單了點,也許太簡單了點。就當做個筆記吧。
感謝大家對VeVb武林網的支持。
新聞熱點
疑難解答
圖片精選