录单
This commit is contained in:
@@ -44,6 +44,7 @@ import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeParseException;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@@ -2068,30 +2069,43 @@ public class JDUtil {
|
||||
private Date orderDate;
|
||||
|
||||
}
|
||||
|
||||
public List<LocalDate> getDateFromLD(String dateStr) {
|
||||
ArrayList<LocalDate> dateArrayList = new ArrayList<>();
|
||||
logger.info("开始解析日期 {}", dateStr);
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
|
||||
// 检查是否包含连字符(日期范围)
|
||||
if (dateStr.contains("-")) {
|
||||
String[] dates = dateStr.split("-");
|
||||
for (String date : dates) {
|
||||
dateArrayList.addAll(getDateFromLD(date));
|
||||
if (dates.length == 2) { // 确保是合法的范围格式
|
||||
try {
|
||||
LocalDate startDate = LocalDate.parse(dates[0], formatter);
|
||||
LocalDate endDate = LocalDate.parse(dates[1], formatter);
|
||||
dateArrayList.add(startDate);
|
||||
dateArrayList.add(endDate);
|
||||
logger.info("成功解析日期范围: {} 到 {}", startDate, endDate);
|
||||
} catch (DateTimeParseException e) {
|
||||
logger.error("日期范围解析失败: {}", dateStr, e);
|
||||
// 可选择返回空列表或抛出异常
|
||||
}
|
||||
return dateArrayList;
|
||||
} else {
|
||||
// 定义支持的日期格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
// 解析日期字符串为 LocalDate 对象
|
||||
logger.warn("日期范围格式不合法: {}", dateStr);
|
||||
// 处理格式错误,例如只返回第一个有效日期
|
||||
}
|
||||
} else {
|
||||
// 处理单个日期
|
||||
try {
|
||||
LocalDate date = LocalDate.parse(dateStr, formatter);
|
||||
// 成功解析后,可执行后续操作(例如业务逻辑)
|
||||
logger.info("成功解析日期: {}", date);
|
||||
dateArrayList.add(date);
|
||||
logger.info("成功解析日期: {}", date);
|
||||
} catch (DateTimeParseException e) {
|
||||
logger.error("日期解析失败: {}", dateStr, e);
|
||||
}
|
||||
}
|
||||
|
||||
return dateArrayList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static LocalDateTime getEffectiveToday() {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
if (now.getHour() < 8) {
|
||||
|
||||
Reference in New Issue
Block a user