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