原来是搜索一段时间内的数据.由于数据量比较庞大,要求现在分批进行查询.
例如:开始时间为2022-06-06 06:23:41 结束时间 2022-06-13 06:23:41
改为8个小时查一次数据,第一波查询开始时间:2022-06-06 06:23:41 结束时间 2022-06-06 14:23:41 需要进行时间计算.
// 间隔时间
int interval_time = 8;
// HH 为24小时制 hh 为12小时制
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 获取输入的开始和结束时间
String lastUpdateStart = MapUtils.getString(map, "LAST_UPDATE_START", "");
String lastUpdateEnd = MapUtils.getString(map, "LAST_UPDATE_END", "");
// 设置临时开始和结束时间
String lastUpdateStartTmp = null;
String lastUpdateEndTmp = null;
// 类型转换
Date dt=sdf.parse(lastUpdateStart);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
// 时间加8
rightNow.add(Calendar.HOUR_OF_DAY, interval_time);
Date dt1=rightNow.getTime();
// 转换为String类型为了传入sql语句参数
String lastUpdateEndTmp = sdf.format(dt1);
// 再加一个比较两个日期大小 compareTo方法返回的如果是正数则左边的值大 反之则小
0<=lastUpdateEnd.compareTo(lastUpdateEndTmp)