博主介紹:?全網粉絲22W+,CSDN博客專家、Java領域優質創作者,掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域?
技術范圍:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大數據、物聯網、機器學習等設計與開發。
感興趣的可以先關注收藏起來,在工作中、生活上等遇到相關問題都可以給我留言咨詢,希望幫助更多的人。
Java的 LocalDate 獲取本月第一天和最后一天
- 一、方法1:使用 TemporalAdjusters(推薦)
- 二、方法2:手動設置日期
- 三、總結
在Java中,使用
LocalDate
獲取本月的第一天和最后一天可以通過以下兩種方法實現:
一、方法1:使用 TemporalAdjusters(推薦)
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;public class Main {public static void main(String[] args) {LocalDate today = LocalDate.now();// 獲取本月第一天LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());System.out.println("本月第一天: " + firstDayOfMonth);// 獲取本月最后一天LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());System.out.println("本月最后一天: " + lastDayOfMonth);}
}
優點:
- 代碼簡潔直觀,直接表達意圖。
- 自動處理不同月份的天數(如2月閏年問題)。
二、方法2:手動設置日期
import java.time.LocalDate;public class Main {public static void main(String[] args) {LocalDate today = LocalDate.now();// 獲取本月第一天LocalDate firstDayOfMonth = today.withDayOfMonth(1);System.out.println("本月第一天: " + firstDayOfMonth);// 獲取本月最后一天LocalDate lastDayOfMonth = today.withDayOfMonth(today.lengthOfMonth());System.out.println("本月最后一天: " + lastDayOfMonth);}
}
注意:
lengthOfMonth()
返回當前月份的天數,確保最后一天正確。- 避免多次調用
LocalDate.now()
,防止跨月問題(如代碼執行時剛好月末切換)。
三、總結
推薦使用 TemporalAdjusters
,代碼更清晰且符合Java日期API設計。
如果追求性能或避免多次調用 now()
,可先用變量保存當前日期。
好了,今天分享到這里。希望你喜歡這次的探索之旅!不要忘記 “點贊” 和 “關注” 哦,我們下次見!🎈
本文完結!
祝各位大佬和小伙伴身體健康,萬事如意,發財暴富,掃下方二維碼與我一起交流!!!