获取指定年月的最后一天

/**
     * 获取指定年月的最后一天
     * @param year
     * @param month
     * @return
     */
    public String getYMD(String year,String month) {
        /*String year = "2022";
        String month = "2";*/
        int str1 = Integer.parseInt(year);
        int str2 = Integer.parseInt(month);
        Calendar cal = Calendar.getInstance();
        // 设置年份
        cal.set(Calendar.YEAR, str1);
        // 设置月份
        // cal.set(Calendar.MONTH, month - 1);
        cal.set(Calendar.MONTH, str2); //设置当前月的上一个月
        // 获取某月最大天数
        //int lastDay = cal.getActualMaximum(Calendar.DATE);
        int lastDay = cal.getMinimum(Calendar.DATE); //获取月份中的最小值,即第一天
        // 设置日历中月份的最大天数
        //cal.set(Calendar.DAY_OF_MONTH, lastDay);
        cal.set(Calendar.DAY_OF_MONTH, lastDay - 1); //上月的第一天减去1就是当月的最后一天
        // 格式化日期
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        logger.info("lastDayOfMonth = "+sdf.format(cal.getTime()));
        return sdf.format(cal.getTime());
    }

参考:https://www.dandelioncloud.cn/article/details/1509421761052618754

posted @ 2022-08-29 19:45  小二柯  阅读(129)  评论(0编辑  收藏  举报