提交 f98856ca authored 作者: 吕本才's avatar 吕本才

增加分割日期的方法

上级 ad93d8de
......@@ -6,8 +6,10 @@ import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* 时间工具类
......@@ -198,4 +200,28 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
// 计算给定日期所在周数(从 1 开始)
return (daysSinceFirstDay + firstDayWeekday) / 7 + 1;
}
/**
* 计算时间间隔,如果时间间隔大于4天,就拆分成4天的时间间隔
* @param startDate
* @param endDate
* @return
*/
public static List<Date[]> splitTimeInterval(Date startDate, Date endDate) {
List<Date[]> intervals = new ArrayList<>();
if (startDate == null || endDate == null) {
return intervals;
}
long daysBetween = (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24);
if (daysBetween <= 4) {
intervals.add(new Date[]{startDate, endDate});
} else {
Date midDate = new Date(startDate.getTime() + 4 * 24 * 60 * 60 * 1000);
intervals.add(new Date[]{startDate, midDate});
intervals.addAll(splitTimeInterval(new Date(midDate.getTime() + 1000), endDate));
}
return intervals;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论