package cn.lihu.jh.module.ecg; import java.time.LocalTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Utils { public static LocalTime parseTime(String strTime) { String regex = "(\\d+)[::](\\d+)"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(strTime); if (!matcher.find()) return null; // 获取整个匹配的字符串 String fullMatch = matcher.group(); // 获取第一个捕获组(小时) String strOpenHour = matcher.group(1); // 获取第二个捕获组(分钟) String strOpenMinute = matcher.group(2); LocalTime localTime = LocalTime.of(Integer.valueOf(strOpenHour), Integer.valueOf(strOpenMinute)); return localTime; } public static List parseOpeningTime(String strOpeningTime) { String regex = "(\\d+)[::](\\d+)~(\\d+)[::](\\d+)"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(strOpeningTime); if (!matcher.find()) return null; // 获取整个匹配的字符串 String fullMatch = matcher.group(); // 获取第一个捕获组(小时) String strOpenHour = matcher.group(1); // 获取第二个捕获组(分钟) String strOpenMinute = matcher.group(2); // 获取第一个捕获组(小时) String strCloseHour = matcher.group(3); // 获取第二个捕获组(分钟) String strCloseMinute = matcher.group(4); LocalTime localOpenTime = LocalTime.of(Integer.valueOf(strOpenHour), Integer.valueOf(strOpenMinute)); LocalTime localCloseTime = LocalTime.of(Integer.valueOf(strCloseHour), Integer.valueOf(strCloseMinute)); List openCloseTime = new ArrayList(); openCloseTime.add(localOpenTime); openCloseTime.add(localCloseTime); return openCloseTime; } public static String formatRoomBed(Long roomId, String bedNo) { return String.format("%09d%s", roomId, bedNo); } public static List parseTimeSlotList(String strTimeSlotList, Integer timeslotLength) { List localTimeList = new ArrayList<>(); // 7:30,8:30,9:30,10:30,11:30,12:30,13:30,14:30,15:30 String[] arrTimeSlotItemStr = strTimeSlotList.split(",|,"); Arrays.stream(arrTimeSlotItemStr).forEach( strTimeSlot -> { String regex = "(\\d+)[::](\\d+)"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(strTimeSlot); if (!matcher.find()) return; // 获取整个匹配的字符串 String fullMatch = matcher.group(); // 获取第一个捕获组(小时) String strHour = matcher.group(1); // 获取第二个捕获组(分钟) String strMinute = matcher.group(2); LocalTime localTimeSlot = LocalTime.of(Integer.valueOf(strHour), Integer.valueOf(strMinute)); localTimeList.add( localTimeSlot ); } ); return localTimeList; } }