写代码时总能碰到需要拆分日期去执行某种业务,比如一个时间范围太长,需要分割成多次执行,写个比较通用的方法:
/**
* 拆分时间,并执行方法
* @param startDate 开始时间
* @param endDate 结束时间
* @param dateType 示例:Calendar.DATE 年、月、日、时、分、秒、毫秒
* @param step 步长
* @param callBack 回调函数,T1:开始日期,T2: 结束日期,T3:是否为最后一次调用
*/
public static void splitDateExecute(String startDate,
String endDate,
int dateType,
int step,
Consumer<Tuple3<Date,Date,Boolean>> callBack){
if (StringUtils.isEmpty(startDate)) {
return;
}
if(!startDate.contains(":"))