java 中 获取 两个日期间的所有日期(年月日、月份、年份)

获取2个日期(年月日)之间的所有日期

  public static List<String> getDatesBetween(String startDateStr, String endDateStr) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate startDate = LocalDate.parse(startDateStr, formatter);
        LocalDate endDate = LocalDate.parse(endDateStr, formatter);
        List<String> datas = new ArrayList<>();
        //这里是判断开始日期是否在结束日期之后或者=结束日期
        while (startDate .isBefore(endDate) || startDate .isEqual(endDate)) {
            String add = startDate .format(formatter);
            datas.add(add );
            startDate = startDate .plusDays(1);
        }
        return datas;
    }

获取2个月份之前的所有月份

public static List<String> getMonthsBetween(String startMonth, String endMonth) {
        List<String> monthRange = new ArrayList<>();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
        YearMonth start = YearMonth.parse(startMonth, formatter);
        YearMonth end = YearMonth.parse(endMonth, formatter);

        while (!start.isAfter(end)) {
	        monthRange.add(start.format(formatter));
            start = start.plusMonths(1);
        }

        return monthRange;
    }

获取2个年份之前的所有年份

public static List<String> getYearsBetween(String startYearStr, String endYearStr) {
        List<String> yearRange = new ArrayList<>();
        List<NumAndSizeTrendVo> datas = new ArrayList<>();
        int startYear= Integer.parseInt(startYearStr);
        int endYear= Integer.parseInt(endYearStr);

        if (startYear <= endYear) {
            for (int year = startYear; year <= endYear; year++) {
               yearRange.add(String.valueOf(year)); // 将年份添加到列表中
            }
        } else {
            System.out.println("开始年份必须小于或等于结束年份。");
        }
        return datas;
    }

至此已全部内容,仅此供大家参考,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值