diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java index ae4cc8f..5a9cdf5 100644 --- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java +++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java @@ -17,9 +17,7 @@ import org.joda.time.format.DateTimeFormatter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.Locale; +import java.util.*; /** * 日期处理工具类 @@ -286,4 +284,38 @@ public class DateUtils { return (todayEnd.getTime().getTime() - new Date().getTime()) / 1000; } + /** + * 获取两个日期之间所有的日期集合,包含开始结束 格式yyyy-MM-dd + * @Param startTime + * @Param endTime + * @Return {@link List< String>} + * @Author zhaoqifeng + * @Date 2022/10/12 17:20 + */ + public static List getDaysBetween(String startTime, String endTime){ + // 返回的日期集合 + List days = new ArrayList<>(); + try{ + Date start = DateUtils.parse(startTime,DateUtils.DATE_PATTERN); + Date end = DateUtils.parse(endTime,DateUtils.DATE_PATTERN); + + Calendar tempStart = Calendar.getInstance(); + assert start != null; + tempStart.setTime(start); + + Calendar tempEnd = Calendar.getInstance(); + assert end != null; + tempEnd.setTime(end); + // 日期加1(包含结束) + tempEnd.add(Calendar.DATE, +1); + while (tempStart.before(tempEnd)) { + days.add(DateUtils.format(tempStart.getTime(), DateUtils.DATE_PATTERN)); + tempStart.add(Calendar.DAY_OF_YEAR, 1); + } + } catch (Exception e) { + e.printStackTrace(); + } + return days; + } + }