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;
    }
}

二、测试结果

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM