获取“yyyy-MM“格式指定月(包含指定月份)之前近n年月份集合

获取"yyyy-MM"格式月份集合

	/**
     * 获取指定月(包含指定月份)之前近n年月份集合
     *
     * @return
     */
    public static List<String> agoMonthList(String inputMonth, int num) {
        YearMonth yearMonth = YearMonth.parse(inputMonth, DateTimeFormatter.ofPattern("yyyy-MM"));
        int startYear = yearMonth.getYear() - num;
        int startMonth = yearMonth.getMonthValue();
        int endYear = yearMonth.getYear();
        int endMonth = yearMonth.getMonthValue();

        List<String> monthList = new ArrayList<>();

        for (int year = startYear; year <= endYear; year++) {
            int currentStartMonth = (year == startYear) ? startMonth : 1;
            int currentEndMonth = (year == endYear) ? endMonth : 12;

            for (int month = currentStartMonth; month <= currentEndMonth; month++) {
                LocalDate date = LocalDate.of(year, month, 1);
                String formattedMonth = date.format(DateTimeFormatter.ofPattern("yyyy-MM"));
                monthList.add(formattedMonth);
            }
        }
        return monthList;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值