Java 获取指定范围内的日期时间

一、代码

public class DateUtils {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String beginTime = "2021-11-25";
        String endTime = "2021-12-02";
        Date beginDate = sdf.parse(beginTime);
        Date endDate = sdf.parse(endTime);

        List<Date> dateList = getDateByTimeRange(beginDate, endDate);
        // 输出打印
        dateList.stream().map((item)->sdf.format(item)).forEach(System.out::println);
    }

    public static List<Date> getDateByTimeRange(Date beginDate, Date endDate) {
        List dateList = new ArrayList();
        dateList.add(beginDate);
        Calendar beginCalendar = Calendar.getInstance();
        // 使用给定的 Date 设置此 Calendar 的时间
        beginCalendar.setTime(beginDate);
        Calendar endCalendar = Calendar.getInstance();
        // 使用给定的 Date 设置此 Calendar 的时间
        endCalendar.setTime(endDate);
        // 测试此日期是否在指定日期之后
        while (endDate.after(beginCalendar.getTime())) {
            // 根据日历的规则,为给定的日历字段添加或减去指定的时间量
            beginCalendar.add(Calendar.DAY_OF_MONTH, 1);
            dateList.add(beginCalendar.getTime());
        }
        return dateList;
    }
}

二、测试结果

 

原文地址:https://www.cnblogs.com/xiaomaomao/p/15635314.html