[00:30, null, 01:30, 02:00, null, 03:00, 03:30, 04:00, 04:30, 05:00, 05:30, 06:00, 06:30, 07:00, 07:30, 08:00, 08:30, 09:00, 09:30, 10:00, 10:30, 11:00, 11:30, 12:00, 12:30, 13:00, 13:30, 14:00, 14:30, 15:00, 15:30, 16:00, 16:30, 17:00, 17:30, 18:00, 18:30, 19:00, 19:30, 20:00, 20:30, 21:00, 21:30, 22:00, 22:30, 23:00, 23:30, null]
中间时间不连续,把不连续的时间剔除
[00:30, 01:30~02:00, 03:00~23:30]
/**
* [00:30, 01:00, 01:30, 02:00, 02:30, 03:00, 03:30,
* 04:00, 04:30, 05:00, 05:30, 06:00, 06:30, 07:00,
* 07:30, 08:00, 08:30, 09:00, 09:30, 10:00, 10:30,
* 11:00, 11:30, 12:00, 12:30, 13:00, 13:30, 14:00,
* 14:30, 15:00, 15:30, 16:00, 16:30, 17:00, 17:30,
* 18:00, 18:30, 19:00, 19:30, 20:00, 20:30, 21:00,
* 21:30, 22:00, 22:30, 23:00, 23:30, 00:00]
* @return
*/
private static String[] getHourList() {
Calendar instance = Calendar.getInstance();
instance.set(Calendar.HOUR_OF_DAY, 0);
instance.set(Calendar.MINUTE, 30);
System.out.println(instance.getTime());
DateFormat df = new SimpleDateFormat("HH:mm");
String[] hourlist = new String[48];
for (int i = 0; i < hoursLength; i++) {
hourlist[i] = df.format(instance.getTime());
instance.add(Calendar.MINUTE, 30);
}
return hourlist;
}
private static String[] hourSplit(String[] hours, List<String> list) {
for (int i = 0; i < hoursLength; i++) {
for (String str : list) {
if (hours[i].equals(str)) {
hours[i] = null;
break;
}
}
}
return hours;
}
private static List<String> hourMinJudge(String[] hourMin) {
StringBuilder sb = new StringBuilder();
int idx = -1;
List<String> hourlist = new ArrayList<>();
for (int i = 0; i < hoursLength; i++) {
if (hourMin[i] != null && idx == -1) {
idx = i;
sb.append(hourMin[i]);
continue;
}
if (hourMin[i] != null && idx != -1 && i == hoursLength - 1) {
sb.append("~" + hourMin[i]);
hourlist.add(sb.toString());
sb = new StringBuilder();
}
if (hourMin[i] == null && idx != -1) {
if (i - 1 == idx) {
idx = -1;
hourlist.add(sb.toString());
sb = new StringBuilder();
} else {
sb.append("~" + hourMin[i - 1]);
idx = -1;
hourlist.add(sb.toString());
sb = new StringBuilder();
}
}
}
if (hourlist != null && hourlist.get(hourlist.size() - 1).indexOf("00:00") != -1) {
hourlist.set(hourlist.size() - 1, hourlist.get(hourlist.size() - 1).replace("00:00", "24:00"));
}
return hourlist;
}
public static void main(String[] args) {
String[] strings = getHourList();
System.out.println(Arrays.toString(strings));
System.out.println("------");
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("01:00");
arrayList.add("02:30");
arrayList.add("00:00");
String[] hourSplit = hourSplit(strings, arrayList);
System.out.println(Arrays.toString(hourSplit));
System.out.println("=========");
System.out.println(hourMinJudge(hourSplit));
}