|
@@ -1,11 +1,13 @@
|
|
|
package org.jeecg.modules.system.app.utils;
|
|
|
|
|
|
-import org.apache.poi.ss.formula.functions.T;
|
|
|
-import org.jeecg.modules.system.app.dto.AppCoursesRuleDTO;
|
|
|
-import org.w3c.dom.stylesheets.LinkStyle;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import org.jeecg.modules.system.app.vo.time.NextSevenDayVo;
|
|
|
|
|
|
+import java.time.DayOfWeek;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.LocalTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.format.TextStyle;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -79,13 +81,50 @@ public class TimeRangeFinder {
|
|
|
return merged.stream().map(TimeRange::toString).collect(Collectors.joining(","));
|
|
|
}
|
|
|
|
|
|
+ //获取当前时间及后面6天的
|
|
|
+ public static List<NextSevenDayVo> getNextSevenDays() {
|
|
|
+ List<NextSevenDayVo> dates = new ArrayList<>();
|
|
|
+ LocalDate today = LocalDate.now();
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM-dd");
|
|
|
+ for (int i = 0; i < 7; i++) { // 包含今天共8天
|
|
|
+ NextSevenDayVo nextSevenDayVo= new NextSevenDayVo();
|
|
|
+ LocalDate localDate = today.plusDays(i);
|
|
|
+ Locale locale = Locale.CHINA;
|
|
|
+ String format = localDate.format(formatter);
|
|
|
+ DayOfWeek dayOfWeek = localDate.getDayOfWeek();
|
|
|
+ int dayOfWeekNum = dayOfWeek.getValue();
|
|
|
+ String display;
|
|
|
+ switch (i) {
|
|
|
+ case 0:
|
|
|
+ display = "今天(" + format + ")";
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ display = "明天(" + format + ")";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ display = "后天(" + format + ")";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+
|
|
|
+ String weekday = dayOfWeek.getDisplayName(TextStyle.SHORT, locale);
|
|
|
+ display = weekday + "(" + format + ")";
|
|
|
+ }
|
|
|
+ nextSevenDayVo.setWeekDay(dayOfWeekNum);
|
|
|
+ nextSevenDayVo.setWeekDayAndDate(display);
|
|
|
+ dates.add(nextSevenDayVo);
|
|
|
+ }
|
|
|
+ return dates;
|
|
|
+ }
|
|
|
+
|
|
|
// 主方法示例
|
|
|
public static void main(String[] args) {
|
|
|
- String input = "6:00-7:00, 6:30-8:00, 18:00-20:00, 19:30-21:00";
|
|
|
- List<TimeRange> parsed = parseTimeRanges(input);
|
|
|
- List<TimeRange> merged = mergeTimeRanges(parsed);
|
|
|
- String result = formatMergedRanges(merged);
|
|
|
- System.out.println(result); // 输出:6:00-8:00,18:00-21:00
|
|
|
+// String input = "6:00-7:00, 6:30-8:00, 18:00-20:00, 19:30-21:00";
|
|
|
+// List<TimeRange> parsed = parseTimeRanges(input);
|
|
|
+// List<TimeRange> merged = mergeTimeRanges(parsed);
|
|
|
+// String result = formatMergedRanges(merged);
|
|
|
+ List<NextSevenDayVo> nextSevenDays = getNextSevenDays();
|
|
|
+ System.out.println(JSONObject.toJSONString(nextSevenDays));
|
|
|
+// System.out.println(result); // 输出:6:00-8:00,18:00-21:00
|
|
|
}
|
|
|
|
|
|
}
|