根据当前时间生成一组间隔时间。 在SQL中通过字符时间去查询,避免跟时区有关联
SimpleDateFormat formatmm =new SimpleDateFormat("mm");
SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd HH");
SimpleDateFormat formatfull =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String minutes = formatmm.format( date) ;
String newMinutes = "00";
if ( Integer.parseInt(minutes)>30)
newMinutes = "30";
// String newMinutes = minutes.substring(0,1)+0 ;
System.out.println ( newMinutes ) ;
String prefixDate = format.format(date);
String newStartDate = prefixDate + ":"+newMinutes+":00";
System.out.println( prefixDate );
int range=12;//hours
int groupTime = 30;//minutes;
Date curreentDate = null;
List<String> starts = new ArrayList<String>();
List<String> ends = new ArrayList<String>();
try {
curreentDate = formatfull.parse( newStartDate);
int totalMinutes = range*60;
int i=0;
while(totalMinutes>0){
long currentMillSeconds = curreentDate.getTime();
long endMillSeconds = currentMillSeconds-i*groupTime*60*1000;
long beginMillSeconds = currentMillSeconds - (i+1)*groupTime*60*1000;
starts.add(formatfull.format( beginMillSeconds ));
ends.add(formatfull.format( endMillSeconds ));
totalMinutes=totalMinutes-groupTime;
i++;
}
for(int j=starts.size()-1;j>0;j--){
System.out.println( starts.get(j) + " -- "+ends.get(j));
}
} catch (ParseException e) {
e.printStackTrace();
}