首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >java工具《获取两个日期之间的所有日期的开始时间集合》

java工具《获取两个日期之间的所有日期的开始时间集合》

原创
作者头像
刘大猫
发布2026-03-14 21:10:00
发布2026-03-14 21:10:00
780
举报
文章被收录于专栏:JAVA相关JAVA相关

@toc

一、介绍

功能说明

这是一个静态工具方法,用于获取两个日期之间的所有日期(不包含起始日期,包含结束日期?需要确认)。方法接收开始日期和结束日期两个参数,返回这两个日期之间的所有日期的 List 集合。

参数说明

  • start:开始日期(不包含在结果中)
  • end:结束日期(可能包含在结果中?)

实现原理

  1. 创建两个 Calendar 实例,分别设置为开始日期和结束日期/** * 获取两个日期之间的所有日期的开始时间集合 * 返回Date的List */ public static List<Date> getBetweenDates(Date start, Date end){ List<Date> result = new ArrayList<>(); Calendar tempStart = Calendar.getInstance(); tempStart.setTime(start); tempStart.add(Calendar.DAY_OF_YEAR,1); Calendar tempEnd = Calendar.getInstance(); tempEnd.setTime(end); while (tempStart.before(tempEnd)){ result.add(tempStart.getTime()); tempStart.add(Calendar.DAY_OF_YEAR, 1); } return result; }结果展示
  2. 将开始日期的 Calendar 向前推进 1 天(tempStart.add(Calendar.DAY_OF_YEAR,1))
  3. 通过 while 循环,只要开始日期在结束日期之前,就将当前日期加入结果集
  4. 每次循环后将开始日期增加 1 天,继续比较二、代码
代码语言:java
复制
//获取两个日期之间的所有日期的开始时间集合
Date beginDate = new Date();
beginDate.setTime(1652976000000L);  //2022-05-20 00:00:00
Date endDate = new Date();
endDate.setTime(1655654400000L);  //2022-06-20 00:00:00
System.out.println(getBetweenDates(beginDate, endDate));    //[Sat May 21 00:00:00 CST 2022, Sun May 22 00:00:00 CST 2022, Mon May 23 00:00:00 CST 2022, Tue May 24 00:00:00 CST 2022, Wed May 25 00:00:00 CST 2022, Thu May 26 00:00:00 CST 2022, Fri May 27 00:00:00 CST 2022, Sat May 28 00:00:00 CST 2022, Sun May 29 00:00:00 CST 2022, Mon May 30 00:00:00 CST 2022, Tue May 31 00:00:00 CST 2022, Wed Jun 01 00:00:00 CST 2022, Thu Jun 02 00:00:00 CST 2022, Fri Jun 03 00:00:00 CST 2022, Sat Jun 04 00:00:00 CST 2022, Sun Jun 05 00:00:00 CST 2022, Mon Jun 06 00:00:00 CST 2022, Tue Jun 07 00:00:00 CST 2022, Wed Jun 08 00:00:00 CST 2022, Thu Jun 09 00:00:00 CST 2022, Fri Jun 10 00:00:00 CST 2022, Sat Jun 11 00:00:00 CST 2022, Sun Jun 12 00:00:00 CST 2022, Mon Jun 13 00:00:00 CST 2022, Tue Jun 14 00:00:00 CST 2022, Wed Jun 15 00:00:00 CST 2022, Thu Jun 16 00:00:00 CST 2022, Fri Jun 17 00:00:00 CST 2022, Sat Jun 18 00:00:00 CST 2022, Sun Jun 19 00:00:00 CST 2022]	

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、介绍
    • 功能说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档