在工作的业务中,碰到过,根据时间区间比如说2小时,12小时,24小时,返回不同的开始时间和结束时间,具体来说,就是,当筛选两小时的时候,返回一天的00:00:00—>13:59:59 ,14:00:00–>15:59:59,….22:00:00–>23:59:59 ;当筛选12小时,返回一天的08:00:00–>20:00:00,20:00:00–>08:00:00 ,当筛选24小时的时候,返回一天的00:00:00–>23:59:59
现在就写一个公共类来解决这个问题。
public class BatteryUtil {
public static void main(String[] args) {
int stepNumber = 0;
int colSize = 1 ;//12 2 1 1
int interval = 7;//2 12 24 7 30
for (int i = 0; i <= 6; i++) {
String testTime = "2017-08-1"+i;
for (int col = 1; col <= colSize; col++) {
stepNumber = stepNumber + interval;
String [] times = getOriginalInterval(testTime,stepNumber,interval);
System.out.println("startDate: "+times[0]+" , endDate: "+times[1]);
}
}
}
public static String[] getOriginalInterval(String testTime, int number, int interval) {
String[] resultTime = new String[2];
double multiple = number / 24;
if (number % 24 != 0) {
multiple = multiple + 1;
}
// number > 24
if (multiple > 1) {
//**-------------开始时间-------------**//
double dVal = number - 24 * (multiple - 1);// {"2小时":[2,4,6,8,10,..],"12小时":[]}
int iVal = (int