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

JAVA Calendar設(shè)置上個月時,日期不存在或錯誤提示問題及解決

 更新時間:2025年12月11日 14:17:08   作者:辛晨V  
在使用Java的Calendar類設(shè)置上個月的日期時,如果遇到不存在的日期(如4月31日),默認會自動調(diào)整到下個月的相應(yīng)日期(如5月1日),這是為了確保日期計算的準確性

JAVA Calendar設(shè)置上個月時,日期不存在或錯誤提示

java進行日期計算時

上個月日期一般使用:

 calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); // 設(shè)置為上一個月

進行,操作,但是當月份不存在、日期不存在如:4.31 2.31 不存在的日期時,處理就容易出現(xiàn)問題,此處僅提供思路可以按照自己顯示。

Calendar calendar = Calendar.getInstance();
calendar.setTime(date); // 設(shè)置為當前時間

如果出現(xiàn)不存在的日期會自動按照日期數(shù)進行推算

如4.31會自動生成5.1 2.31會自動生成3.3號,并不是所有的都順延到下個月1號。

知道這里就知道該怎么辦了

/**
     * 獲取上個月的今天
     * @param time
     * @return
     */
    public static String getPreviousMonth(String time,String SimpleDateFormat) {
        try {
            if(StringUtils.isBlank(time)){
                return "";
            }
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat(SimpleDateFormat);//注意月份是MM
            Date date = simpleDateFormat.parse(time);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date); // 設(shè)置為當前時間
            if(!time.equals(simpleDateFormat.format(date))){//如果當前日期不存在,系統(tǒng)會自動往后推。需要重置為1號
                calendar.set(Calendar.DATE, 1); //
            }
            int oldMonth = calendar.get(Calendar.MONTH);
            calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); // 設(shè)置為上一個月
            int newMonth = calendar.get(Calendar.MONTH);
            if(oldMonth == newMonth){
                calendar.set(Calendar.DATE, 1);
            }
            if(!time.equals(simpleDateFormat.format(date))){//判斷如果是當前日期不存在,需要往前推一天(如11.31應(yīng)該返回10.31)
                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 1); // 設(shè)置為上一個天
                calendar.getTime();
                int day = Integer.parseInt(StringUtils.substring(time, StringUtils.lastIndexOf(time, "-") + 1, time.length()));
                calendar.set(Calendar.DATE, day);
            }
            date = calendar.getTime();
            return simpleDateFormat.format(date);
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 鏈表的定義與簡單實例

    Java 鏈表的定義與簡單實例

    這篇文章主要介紹了 Java 鏈表的定義與簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • java中的轉(zhuǎn)義字符介紹

    java中的轉(zhuǎn)義字符介紹

    普通的轉(zhuǎn)義字符序列和八進制轉(zhuǎn)義字符都比Unicode轉(zhuǎn)義字符要好得多,因為與Unicode轉(zhuǎn)義字符不同,轉(zhuǎn)義字符序列是在程序被解析為各種符號之后被處理的
    2013-09-09
  • Java集合之Map接口與實現(xiàn)類詳解

    Java集合之Map接口與實現(xiàn)類詳解

    這篇文章主要為大家詳細介紹了Java集合中的Map接口與實現(xiàn)類,文中的示例代碼講解詳細,對我們學(xué)習(xí)Java有一定的幫助,感興趣的可以了解一下
    2022-12-12
  • java多線程之鐵路售票系統(tǒng)

    java多線程之鐵路售票系統(tǒng)

    這篇文章主要為大家詳細介紹了java多線程之鐵路售票系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Java 從互聯(lián)網(wǎng)上爬郵箱代碼示例

    Java 從互聯(lián)網(wǎng)上爬郵箱代碼示例

    這篇文章介紹了Java 從互聯(lián)網(wǎng)上爬郵箱的有關(guān)內(nèi)容,主要是一個代碼示例,小編覺得挺不錯的,這里給大家分享下,需要的朋友可以了解。
    2017-10-10
  • 在2023idea中實現(xiàn)SpringBoot的IoC和AOP的方法

    在2023idea中實現(xiàn)SpringBoot的IoC和AOP的方法

    這篇文檔詳細介紹了如何在Spring Boot中實現(xiàn)IoC(控制反轉(zhuǎn))和AOP(面向切面編程),深入探討了AOP的基本概念,包括AOP的作用、優(yōu)勢以及實現(xiàn)方式,最后,它提到了AOP的注解,如@Aspect、@Pointcut、@Before、@After、@AfterReturning、@AfterThrowing和@Around
    2024-11-11
  • 關(guān)于Object中equals方法和hashCode方法判斷的分析

    關(guān)于Object中equals方法和hashCode方法判斷的分析

    今天小編就為大家分享一篇關(guān)于關(guān)于Object中equals方法和hashCode方法判斷的分析,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java并發(fā)J.U.C并發(fā)容器類list set queue

    Java并發(fā)J.U.C并發(fā)容器類list set queue

    這篇文章主要為大家介紹了Java并發(fā),J.U.C并發(fā)容器類list set queue,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Spring Boot 框架詳細指南

    Spring Boot 框架詳細指南

    Spring Boot 是由 Pivotal 團隊開發(fā)的一個開源 Java 框架,旨在簡化 Spring 應(yīng)用程序的創(chuàng)建和開發(fā)過程,這篇文章主要介紹了Spring Boot 框架詳細指南,需要的朋友可以參考下
    2025-05-05
  • Jenkins+maven持續(xù)集成的實現(xiàn)

    Jenkins+maven持續(xù)集成的實現(xiàn)

    這篇文章主要介紹了Jenkins+maven持續(xù)集成的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評論

武城县| 兴安盟| 广灵县| 广州市| 邵阳县| 太仓市| 合山市| 弋阳县| 武汉市| 方城县| 包头市| 萨迦县| 卫辉市| 招远市| 应用必备| 海淀区| 阳西县| 赞皇县| 潜江市| 察哈| 平罗县| 田阳县| 台南县| 茶陵县| 剑河县| 辉南县| 会昌县| 左贡县| 涡阳县| 鞍山市| 于都县| 新昌县| 东兰县| 武隆县| 陆丰市| 吴川市| 大悟县| 通山县| 连江县| 台前县| 云霄县|