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