java计算跨年月份

发布时间 2023-06-12 11:06:22作者: jamstack

背景:计算2022-05-01到2023-02-01的所有月份

 

        int beginYear = DateUtil.parse(vo.getBeginTime()).year();
        int endYear = DateUtil.parse(vo.getEndTime()).year();
        int beginMonth = DateUtil.parse(vo.getBeginTime()).month() + 1;
        int endMonth = DateUtil.parse(vo.getEndTime()).month() + 1;
        List<Integer> month = new ArrayList<>();
        int currentMonth = beginMonth;
        if (beginYear < endYear) {
            while (currentMonth <= 12) {
                month.add(currentMonth);
                ++currentMonth;
            }
            if (currentMonth == 13) {
                beginYear++;
                currentMonth = 1;
            }
        }

        if (beginYear == endYear) {
            while (currentMonth <= endMonth) {
                month.add(currentMonth);
                ++currentMonth;
            }
        }