Java日期LocalDate使用


在做報表統計時,需要對指定時間內的數據做統計,則需要使用到時間日期API

在此使用的是java.util.Date的完美私生子LocalDate類

  •   LocalDate方法介紹
  1.   now() : 從默認時區的系統時鍾中獲取當前日期。
LocalDate l = LocalDate.now();
System.out.println(l.plusYears(1));

  2020-05-17

  Process finished with exit code 0

  2.  now(ZoneId) : 從指定時區的系統時鍾中獲取當前日期。

LocalDate l = LocalDate.now(ZoneId.of("-05:00"));
System.out.println(l.plusYears(1));

  3.  now(Clock) : 從指定時鍾獲取當前日期。

LocalDate l = LocalDate.now(Clock.systemUTC());

  4.  of(int,Month,int) : 從年、月和日獲取LocalDate實例。

System.out.println(LocalDate.of(0, Month.MAY, 1));
0000-05-01

Process finished with exit code 0

  5.  ofYearDay(int year,int dyaOfYear) : 從指定年的獲取指定年中的指定天獲取LocalDate實例

LocalDate l = LocalDate.ofYearDay(1998, 99);
System.out.println(l);
1998-04-09

Process finished with exit code 0

  6.  ofEpochDay(long epochDay) : 從1970年開始獲取指定天數的LocalDate實例

LocalDate l = LocalDate.ofEpochDay(0);
System.out.println(l);
1970-01-01

Process finished with exit code 0

先寫到這里..   

 

下面是用到的地方:

Java獲取上周指定日的日期

 

  •   獲取上周星期一的日期
LocalDate local=LocalDate.now().with(DayOfWeek.MONDAY);

 以上方法更改上周指定日只要更改with()方法中的參數去指定過濾條件就行。就比如要獲取今天日期所屬這個禮拜的星期二的日期就可以:

LocalDate local=LocalDate.now().with(DayOfWeek.TUESDAY);
  •    獲取上月某天日期
//now()當前時間為2019.5.17
LocalDate nowDate = LocalDate.now(); System.out.println(
  nowDate.minusMonths(
1)   .with(MonthDay.of(nowDate.minusMonths(1).getMonth(), 3))
);
2019-04-03

Process finished with exit code 0

 

 先更新到這里,主要剛好在用,作個筆記同時各個方法之間的組合可以解決不同的需求,希望我這目前僅有的兩個case也可以帶給他人靈感。

 

 

 

 

  如果JDK為1.8以前處理時間日期問題時,也可以使用joda-time,當然1.8包括1.8之后則可以使用自帶的java.time,因為java.time就是借鑒於joda-time來完善Java的日期時間處理問題。

 

  寫博新手(haha), ε≡٩(๑>₃<)۶ 。


免責聲明!

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



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