需求:2019-01-26 13:12:50到2019-01-28 19:02:16
切割为:
2019-01-26 13:12:50----------2019-01-26 23:59:59
2019-01-27 00:00:00----------2019-01-27 23:59:59
2019-01-28 00:00:00----------2019-01-28 19:02:16
/**
* 获取两个时间段的切割时间段
* @param sDate
* @param eDate
* @return
*/
private List<Date[]> cutDate(Date sDate, Date eDate) {
Date sdateCopy = sDate;
Date eDateCopy = eDate;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<Date[]> dateList = new ArrayList<Date[]>();
while(sDate.compareTo(eDate) < 1){
Calendar calendar = Calendar.getInstance();
calendar.setTime(sDate);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date tempSDate = calendar.getTime();
String string1 = com.enation.app.javashop.framework.util.DateUtil.toString(tempSDate, "yyyy-MM-dd HH:mm:ss");
tempSDate = Timestamp.valueOf(string1);
calendar = Calendar.getInstance();
calendar.setTime(sDate);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
Date tempEDate = calendar.getTime();
String string = com.enation.app.javashop.framework.util.DateUtil.toString(tempEDate, "yyyy-MM-dd HH:mm:ss");
tempEDate = Timestamp.valueOf(string);
dateList.add(new Date[]{tempSDate,tempEDate});
//日期+1
calendar = Calendar.getInstance();
calendar.setTime(sDate);
calendar.add(Calendar.DAY_OF_MONTH, 1);
sDate = calendar.getTime();
}
//第一天
Date[] date0 = dateList.get(0);
date0[0] = sdateCopy;
//最后一天的日期改成截止的时间点,因为数据库可能不是23:59:59
Date[] dates1 = dateList.get(dateList.size() - 1);
dates1[1] = eDateCopy;
return dateList;
}