Java8中Instant和LocalDate來計算時間或者日期間隔


/**
* java.time.Instant
* java.time.Duration
* Instant 默認使用UTC時區:2019-01-24T14:01:32.258Z
* mongo中的時間與系統時間相差了8個小時,這是因為mongo中的date類型以UTC(Coordinated Universal Time)存儲,就等於GMT(格林尼治標准時)時間。而系統時間使用的是GMT+0800時間,兩者正好相差8個小時。
* UTC + 時區差 = 本地時間 北京時區是東八區,領先UTC八個小時
* Duration:用於計算兩個“時間”間隔
*/
public void timeInterval() throws InterruptedException{
Instant start = Instant.now();
Thread thread = new Thread();
thread.sleep(2000);
Instant end = Instant.now();
System.out.println("總耗時={}ms:"+Duration.between(start, end).toMillis());//總耗時={}ms:2007
System.out.println(start);//2019-08-07T03:22:17.737Z
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設置日期格式
System.out.println(df.format(new Date()));// new Date()為獲取當前系統時間 2019-08-07 11:22:17
}

 

/**
* java.time.LocalDate
* LocalDate的使用
* 計算兩個日期之間間隔多少天
* 使用Period來獲取間隔,用於計算兩個“日期”間隔
*/
public void dateInterval(){
LocalDate startDate = LocalDate.of(2019, 1, 1);
LocalDate endDate = LocalDate.now();

Period period = Period.between(startDate, endDate);
System.out.println("日期間隔為:"+period); //日期間隔為:P7M6D
System.out.println("日期間隔為:"+period.getYears()+"年-"+period.getMonths()+"月-"+period.getDays()+"日"); //日期間隔為:0年-7月-6日

}


免責聲明!

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



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