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

java天數(shù)計算函數(shù)(當(dāng)前月天數(shù)、某月總天數(shù)及某月剩余天數(shù))4種方法實現(xiàn)代碼

 更新時間:2023年10月12日 10:34:41   作者:左眼看成愛  
日常開發(fā)中會遇到關(guān)于日期的計算,比如當(dāng)月的天數(shù)、兩日期之間的天數(shù)、當(dāng)月剩余天數(shù)等等,這篇文章主要給大家介紹了關(guān)于java天數(shù)計算函數(shù)(當(dāng)前月天數(shù)、某月總天數(shù)及某月剩余天數(shù))4種方法實現(xiàn)的相關(guān)資料,需要的朋友可以參考下

1,Java8 LocalDate

    public static int getDaysOfMonth(String dateStr) {
        LocalDate date = LocalDate.parse(dateStr + "-01");
        return date.lengthOfMonth();
    }

2,利用日歷函數(shù)

    public static int getDaysOfMonth(String dateStr) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(sdf.parse(dateStr));
        return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
    }

3,也是利用日歷函數(shù),但是不需要 throws ParseException

 
    /**
     * 獲取日期當(dāng)月的天數(shù)
     * @param dateStr yyyy-MM 或者yyyy-MM-dd
     * */
    public static int getDaysByDate(String dateStr){
        int year= Integer.parseInt(dateStr.substring(0,4));
        int month=Integer.parseInt(dateStr.substring(5,7));
        Calendar c = Calendar.getInstance();
        c.set(year, month, 0);
        return c.get(Calendar.DAY_OF_MONTH);
    }

測試樣例代碼: 

        String dateStr = "2023-01";
        int days = getDaysOfMonth(dateStr);
        System.out.println(dateStr + " has " + days + " days.");

4,當(dāng)月剩余天數(shù)

 
    /**
     * 當(dāng)月剩余天數(shù)
     * @param date 格式y(tǒng)yyy-MM-dd
     * */
    public static Integer monthEndNum(String date){
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
        Date dateTime = null;
        try {
            dateTime = format.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar c = Calendar.getInstance();
        c.setTime(dateTime);
        int today = c.get(Calendar.DAY_OF_MONTH);
        int last = c.getActualMaximum(Calendar.DAY_OF_MONTH);
        return last - today;
    }
  public static void main(String[] args) {
        Integer days = monthEndNum("2023-01-20");
        System.out.println("2023年1月剩余天數(shù):"+days);
    }

5,獲取當(dāng)前月天數(shù)

    //獲取當(dāng)前月的天數(shù)
    public static int getDaysOfCurrentMonth() {
        Calendar calendar = Calendar.getInstance();
        return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
    }

測試代碼:

    public static void main(String[] args) throws ParseException {
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateString = formatter.format(currentTime);
        System.out.println(dateString);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日HH時mm分ss秒");
        String dateString2 = dateFormat.format(currentTime);
        System.out.println(dateString2);
        Date date1 = dateFormat.parse(dateString2);
        String dateString3 = formatter.format(date1);
        System.out.println(dateString3);
        // 將日期字符串轉(zhuǎn)換為LocalDate對象
        LocalDate date = LocalDate.parse("2023-04-06");
        // 將LocalDate對象格式化為指定格式的字符串
        DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy年M月d日");
        String formattedDate = date.format(formatter1);
        System.out.println(formattedDate);
        // 將格式化后的字符串轉(zhuǎn)換為LocalDate對象
        LocalDate parsedDate = LocalDate.parse(formattedDate, formatter1);
        // 將LocalDate對象轉(zhuǎn)換為指定格式的字符串
        String parsedDateString = parsedDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        System.out.println(parsedDateString);
        // 確認(rèn)兩個日期字符串相等
        assert parsedDateString.equals("2023-04-06");
        // 確認(rèn)兩個LocalDate對象相等
        assert parsedDate.equals(date);
        System.out.println("---------------------");
        String sdate="2023-04-06";
        String sdate2="2023年4月6日";
        String sdate3="2023-04";
        String sdate4="2023年4月";
        System.out.println(convertDateToChs(sdate));
        System.out.println(convertToChinese(sdate));
        System.out.println((convertDateToEn(sdate2)));
        System.out.println((convertDateToEnglish(sdate2)));
        System.out.println((convertToShortChinese(sdate3)));
        System.out.println((convertToShortEnglish(sdate4)));
        String dateStr = "2023-02";
        int days = getDaysByDate(dateStr);
        System.out.println(dateStr + " has " + days + " days.");
        System.out.println("今年有" +   getDaysInCurrentYear() + " days.");
        System.out.println("今年已過去" +   getDaysPassedInCurrentYear() + " days.");
        System.out.println("今年剩余" +   getDaysEndInCurrentYear() + " days.");
    }

測試效果截圖:

總結(jié)

到此這篇關(guān)于java天數(shù)計算函數(shù)(當(dāng)前月天數(shù)、某月總天數(shù)及某月剩余天數(shù))4種方法實現(xiàn)的文章就介紹到這了,更多相關(guān)java天數(shù)計算函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?SpEL表達(dá)式注入入門學(xué)習(xí)示例教程

    Java?SpEL表達(dá)式注入入門學(xué)習(xí)示例教程

    SpEL是Spring框架特有的表達(dá)式語言,SpEL注入是Java Web題最常見的考點之一,因為它邏輯清晰,利用方式很像 PHP 的 eval,本文給大家介紹Java?SpEL表達(dá)式注入入門學(xué)習(xí)示例教程,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • java中計算字符串長度的方法及u4E00與u9FBB的認(rèn)識

    java中計算字符串長度的方法及u4E00與u9FBB的認(rèn)識

    字符串采用unicode編碼的方式時,計算字符串長度的方法找出UNICODE編碼中的漢字的代表的范圍“\u4E00” 到“\u9FBB”之間感興趣的朋友可以參考本文,或許對你有所幫助
    2013-01-01
  • java數(shù)據(jù)類型和運(yùn)算符的深入講解

    java數(shù)據(jù)類型和運(yùn)算符的深入講解

    這篇文章主要給大家介紹了關(guān)于java數(shù)據(jù)類型和運(yùn)算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 詳解Java-Jackson使用

    詳解Java-Jackson使用

    這篇文章主要介紹了Java-Jackson使用詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 《阿里巴巴 Java開發(fā)手冊》讀后感小結(jié)

    《阿里巴巴 Java開發(fā)手冊》讀后感小結(jié)

    這篇文章主要介紹了《阿里巴巴 Java開發(fā)手冊》讀后感小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Spring多線程的使用以及問題詳解

    Spring多線程的使用以及問題詳解

    在我們開發(fā)系統(tǒng)過程中,經(jīng)常會處理一些費時間的任務(wù)(如:向數(shù)據(jù)庫中插入大量數(shù)據(jù)),這個時候就就需要使用多線程,下面這篇文章主要給大家介紹了關(guān)于Spring多線程的使用以及問題的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Java設(shè)計模式之簡單工廠 工廠方法 抽象工廠深度總結(jié)

    Java設(shè)計模式之簡單工廠 工廠方法 抽象工廠深度總結(jié)

    設(shè)計模式(Design Pattern)是前輩們對代碼開發(fā)經(jīng)驗的總結(jié),是解決特定問題的一系列套路。它不是語法規(guī)定,而是一套用來提高代碼可復(fù)用性、可維護(hù)性、可讀性、穩(wěn)健性以及安全性的解決方案
    2021-09-09
  • 使用nacos增加修改配置實時生效方式

    使用nacos增加修改配置實時生效方式

    文章介紹了如何在Nacos配置中心實現(xiàn)動態(tài)配置,包括添加或修改配置、使用`@RefreshScope`注解刷新Bean屬性、擴(kuò)展動態(tài)配置參數(shù)等
    2026-01-01
  • java 8如何自定義收集器(collector)詳解

    java 8如何自定義收集器(collector)詳解

    這篇文章主要給大家介紹了關(guān)于java 8如何自定義收集器(collector)的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Spring中TransactionSynchronizationManager的使用詳解

    Spring中TransactionSynchronizationManager的使用詳解

    這篇文章主要介紹了Spring中TransactionSynchronizationManager的使用詳解,TransactionSynchronizationManager是事務(wù)同步管理器,監(jiān)聽事務(wù)的操作,來實現(xiàn)在事務(wù)前后可以添加一些指定操作,需要的朋友可以參考下
    2023-09-09

最新評論

江津市| 颍上县| 启东市| 彭山县| 运城市| 阳西县| 都匀市| 新宾| 抚州市| 临清市| 蕉岭县| 华安县| 淄博市| 崇左市| 莱州市| 玉田县| 红河县| 江陵县| 安达市| 文昌市| 镇赉县| 吉木萨尔县| 大理市| 潼关县| 三门峡市| 台安县| 襄樊市| 凯里市| 旅游| 昌乐县| 灵台县| 卢氏县| 遵化市| 太谷县| 南召县| 张家界市| 昌吉市| 安徽省| 嵊州市| 万载县| 松潘县|