diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/DateUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/DateUtil.java
index ce0387b6bc29fcd83fc10f25d86dbb72b07b3818..5b4dfa94009cfe3eb30b6f44abfa7324c2ad8b39 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/DateUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/DateUtil.java
@@ -41,6 +41,7 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
/**
* 日期时间工具类
@@ -2050,4 +2051,241 @@ public class DateUtil {
public static int getLastDayOfMonth(final Date date) {
return date(date).getLastDayOfMonth();
}
+
+ /**
+ * 时间分片,将指定的时间区间按照指定的间隔切分为若干个时间片段
+ *
+ * 例如: 将2000-01-01至2000-02-01的时间区间按照1天的间隔切分,结果为:
+ * [{
+ * "start": "2000-01-01",
+ * "end": "2000-01-02"
+ * }, {
+ * "start": "2000-01-02",
+ * "end": "2000-01-03"
+ * }, ..., {
+ * "start": "2000-01-31",
+ * "end": "2000-02-01"
+ * }]
+ *
+ * @param startDate 起始时间
+ * @param endDate 结束时间
+ * @param dateField 切分的时间单位,例如:{@link DateField#DAY_OF_YEAR}
+ * @param step 切分的步长,例如:1
+ * @return 切分后的时间片段列表,键值对中的键为片段开始时间,值为片段结束时间
+ * @since 6.0.0
+ */
+ public static List