最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何利用LocalDate獲取某個月的第一天與最后一天日期

 更新時間:2022年01月20日 10:53:37   作者:小白白程序員  
這篇文章主要給大家介紹了關(guān)于Java如何利用LocalDate獲取某個月的第一天與最后一天日期的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

問題描述:

以一個月為周期進行查詢時,如果用戶沒有選擇查詢的月份,我們想要默認查詢當月或上個月的數(shù)據(jù),這時,如何獲取到一個月的第一天和最后一天日期呢?

以下介紹兩種方式采用LocalDate格式日期的實現(xiàn),以及采用LocalDateTime格式日期的實現(xiàn)。直接上代碼!

使用TemporalAdjusters方法實現(xiàn)

獲取當前月的第一天和最后一天

LocalDate date = LocalDate.now();
LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth()); // 獲取當前月的第一天
LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth()); // 獲取當前月的最后一天
System.out.println(date);
System.out.println(firstDay);
System.out.println(lastDay);

輸出結(jié)果為:

2021-11-11
2021-11-01
2021-11-30

獲取上個月的第一天和最后一天

LocalDate date = LocalDate.now();
LocalDate lastMonth = date.minusMonths(1); // 當前月份減1
LocalDate firstDay = lastMonth.with(TemporalAdjusters.firstDayOfMonth()); // 獲取當前月的第一天
LocalDate lastDay = lastMonth.with(TemporalAdjusters.lastDayOfMonth()); // 獲取當前月的最后一天
System.out.println(day);
System.out.println(lastMonth);
System.out.println(firstDay);
System.out.println(lastDay);

輸出結(jié)果為:

2021-11-11
2021-10-11
2021-10-01
2021-10-31

測試:獲取指定月的上個月的第一天和最后一天

LocalDate date = LocalDate.of(2021, 3, 14);
LocalDate lastMonth = date.minusMonths(1); // 當前月份減1
LocalDate firstDay = lastMonth.with(TemporalAdjusters.firstDayOfMonth()); // 獲取當前月的第一天
LocalDate lastDay = lastMonth.with(TemporalAdjusters.lastDayOfMonth()); // 獲取當前月的最后一天
System.out.println(day);
System.out.println(lastMonth);
System.out.println(firstDay);
System.out.println(lastDay);

輸出結(jié)果為:

2021-03-14
2021-02-14
2021-02-01
2021-02-28

注意事項

大家在調(diào)用LocalDate的 TemporalAdjusters 方法時,一定注意不要漏了最后的 ‘s’, 博主一開始傻fufu的用 TemporalAdjuster 怎么也調(diào)不到 firstDayOfMonth() 和 lastDayOfMonth() 【破涕為笑.jpg】

使用getDayOfMonth()方法實現(xiàn)

LocalDate date = LocalDate.of(2021, 8, 8);
LocalDate lastMonthEnd = date.minusDays(-date.getDayOfMonth()); // 日期date減去這個月已有的天數(shù),得到上個月的最后一天
LocalDate lastMonthBegin = LocalDate.of(lastMonthEnd.getYear(), lastMonthEnd.getMonthValue(), 1); // 通過上一步得到的上個月的最后一天,得到上個月的第一天
System.out.println(date);
System.out.println(lastMonthBegin);
System.out.println(lastMonthEnd);

輸出結(jié)果為:

2021-08-08
2021-07-01
2021-07-31

以上就是用兩種方法實現(xiàn)獲取某個月的第一天和最后一天啦~ 看大家覺得那個好理解或者好用~

補充:使用LocalDateTime也可以實現(xiàn)相關(guān)功能

LocalDateTime date = LocalDateTime.now();
LocalDateTime firstday = date.with(TemporalAdjusters.firstDayOfMonth());
LocalDateTime lastDay = date.with(TemporalAdjusters.lastDayOfMonth());

java獲取指定日期當月和下個月的第一天

/**
  * 獲取指定日期當月的第一天
  * @param dateStr
  * @param format
  * @return
  */
 public static String getFirstDayOfGivenMonth(String dateStr,String format){undefined
 SimpleDateFormat sdf = new SimpleDateFormat(format); 
 try {undefined
 Date date = sdf.parse(dateStr);
 Calendar calendar = Calendar.getInstance();
 calendar.setTime(date);
 calendar.set(Calendar.DAY_OF_MONTH,1);
 calendar.add(Calendar.MONTH, 0);
 return sdf.format(calendar.getTime());
 } catch (ParseException e) {undefined
 e.printStackTrace();
 }
 return null;
 }

/**

  * 獲取指定日期下個月的第一天
  * @param dateStr
  * @param format
  * @return
  */
 public static String getFirstDayOfNextMonth(String dateStr,String format){
 SimpleDateFormat sdf = new SimpleDateFormat(format); 
 try {
 Date date = sdf.parse(dateStr);
 Calendar calendar = Calendar.getInstance();
 calendar.setTime(date);
 calendar.set(Calendar.DAY_OF_MONTH,1);
 calendar.add(Calendar.MONTH, 1);
 return sdf.format(calendar.getTime());
 } catch (ParseException e) {
 e.printStackTrace();
 }
 return null;
 }

總結(jié)

到此這篇關(guān)于Java如何利用LocalDate獲取某個月的第一天與最后一天日期的文章就介紹到這了,更多相關(guān)Java利用LocalDate獲取日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡單的java圖片處理類(圖片水印 圖片縮放)

    簡單的java圖片處理類(圖片水印 圖片縮放)

    本圖片處理類功能非常之強大可以實現(xiàn)幾乎所有WEB開發(fā)中對圖像的處理功能都集成了,包括有縮放圖像、切割圖像、圖像類型轉(zhuǎn)換、彩色轉(zhuǎn)黑白、文字水印、圖片水印等功能
    2013-11-11
  • Java對象轉(zhuǎn)換的方案分享

    Java對象轉(zhuǎn)換的方案分享

    這篇文章主要介紹了Java對象轉(zhuǎn)換的方案分享,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-09-09
  • SpringBoot3.0整合chatGPT的完整步驟

    SpringBoot3.0整合chatGPT的完整步驟

    ChatGPT是OpenAI推出的一個語言模型系統(tǒng),它能夠?qū)崟r回答用戶提問,包括聊天、糾正語法錯誤,甚至是寫代碼、寫劇本等,由于可玩性很高,迅速在全球范圍內(nèi)風靡起來,下面這篇文章主要給大家介紹了關(guān)于SpringBoot3.0整合chatGPT的完整步驟,需要的朋友可以參考下
    2022-12-12
  • SpringCloud2020.0.x版UnderTow AccessLog相關(guān)配置簡介

    SpringCloud2020.0.x版UnderTow AccessLog相關(guān)配置簡介

    本文詳細介紹了SpringCloud中AccessLog的相關(guān)配置,我們可以根據(jù)文中的相關(guān)數(shù)據(jù)配置出所需的AccessLog的信息以及格式,感興趣的小伙伴可以參考一下
    2021-08-08
  • Java并發(fā)系列之ReentrantLock源碼分析

    Java并發(fā)系列之ReentrantLock源碼分析

    這篇文章主要為大家詳細介紹了Java并發(fā)系列之ReentrantLock源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Java程序打印奧林匹克標志方法詳解

    Java程序打印奧林匹克標志方法詳解

    這篇文章主要介紹了Java程序打印奧林匹克標志方法詳解,需要的朋友可以參考下。
    2017-09-09
  • Java多線程之線程同步

    Java多線程之線程同步

    這篇文章主要介紹了Java多線程之線程同步,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Java Quartz觸發(fā)器CronTriggerBean配置用法詳解

    Java Quartz觸發(fā)器CronTriggerBean配置用法詳解

    這篇文章主要介紹了Java Quartz觸發(fā)器CronTriggerBean配置用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • JAVA?DOC如何生成標準的JAVA?API文檔詳解

    JAVA?DOC如何生成標準的JAVA?API文檔詳解

    這篇文章主要給大家介紹了關(guān)于JAVA?DOC如何生成標準的JAVA?API文檔的相關(guān)資料,Javadoc是Sun公司提供的一種工具,它可以從程序源代碼中抽取類、方法、成員等注釋,然后形成一個和源代碼配套的API幫助文檔,需要的朋友可以參考下
    2024-06-06
  • java實現(xiàn)清理DNS Cache的方法

    java實現(xiàn)清理DNS Cache的方法

    這篇文章主要介紹了java實現(xiàn)清理DNS Cache的方法,分析了幾種常用的清理方法,并給出了反射清理的完整實例,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01

最新評論

乐都县| 水城县| 民丰县| 岢岚县| 阳曲县| 抚宁县| 淮南市| 城步| 佛教| 琼海市| 清镇市| 平乐县| 泾川县| 新郑市| 外汇| 新源县| 遵义市| 永寿县| 张家港市| 鄂托克旗| 广东省| 锡林浩特市| 鹿泉市| 茶陵县| 枣阳市| 太仆寺旗| 霸州市| 资阳市| 土默特右旗| 静宁县| 焦作市| 乌兰浩特市| 顺义区| 富锦市| 申扎县| 陆川县| 渭南市| 台中县| 塘沽区| 延寿县| 陈巴尔虎旗|