Java8中使用以下类计算日期时间差:Period、Duration、ChronoUnit
生活随笔
收集整理的這篇文章主要介紹了
Java8中使用以下类计算日期时间差:Period、Duration、ChronoUnit
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.簡述
在Java8中,我們可以使用以下類來計算日期時間差異:
1.Period 2.Duration 3.ChronoUnit二.Period類
主要是Period類方法getYears(),getMonths()和getDays()來計算.示例:
package insping;import java.time.LocalDate;import java.time.Month;import java.time.Period;public class Test {public static void main(String[] args) {LocalDate today = LocalDate.now();System.out.println("Today : " + today);LocalDate birthDate = LocalDate.of(1993, Month.OCTOBER, 19);System.out.println("BirthDate : " + birthDate);Period p = Period.between(birthDate, today);System.out.printf("年齡 : %d 年 %d 月 %d 日",Math.abs( p.getYears()), Math.abs(p.getMonths()) , p.getDays());}}結果:
Today : 2017-06-16 BirthDate : 1993-10-19 年齡 : 23 年 7 月 28 日三.Duration類
提供了使用基于時間的值(如秒,納秒)測量時間量的方法。
示例:
結果:
Inst1 : 2017-06-16T07:46:45.085Z Inst2 : 2017-06-16T07:46:55.085Z Difference in milliseconds : 10000 Difference in seconds : 10四.ChronoUnit類
ChronoUnit類可用于在單個時間單位內測量一段時間,例如天數或秒。
以下是使用between()方法來查找兩個日期之間的區別的示例。
結果:
開始時間 : 1993-10-19結束時間 : 2017-06-16兩天之間的差在天數 : 8641以下是別的demo的應用
LocalDate startDate = LocalDate.parse("2016-04-10"); // LocalDate startDate = LocalDate.parse("2016-10-11 10:30:01", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); // LocalDate startDate = LocalDate.of(2016, 12, 31);// LocalDate endDate = LocalDate.parse("2017-01-10");LocalDate endDate = LocalDate.now();// System.out.println(startDate.toString()); // System.out.println(endDate.toString());Period period = Period.between(startDate, endDate);Period period1 = Period.ofMonths(2);System.out.println("period1 = " + period1.getMonths());?
總結
以上是生活随笔為你收集整理的Java8中使用以下类计算日期时间差:Period、Duration、ChronoUnit的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 用 grep 查找单个或多个
- 下一篇: Java的,与类的初始化顺序