mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +00:00
(improvement)(common)Support more date string formats.
This commit is contained in:
@@ -36,9 +36,9 @@ public class ChatModelParameters {
|
|||||||
new Parameter("timeOut", "60", "超时时间(秒)", "", "number", MODULE_NAME);
|
new Parameter("timeOut", "60", "超时时间(秒)", "", "number", MODULE_NAME);
|
||||||
|
|
||||||
public static List<Parameter> getParameters() {
|
public static List<Parameter> getParameters() {
|
||||||
return Lists.newArrayList(CHAT_MODEL_PROVIDER, CHAT_MODEL_BASE_URL,
|
return Lists.newArrayList(CHAT_MODEL_PROVIDER, CHAT_MODEL_BASE_URL, CHAT_MODEL_API_KEY,
|
||||||
CHAT_MODEL_API_KEY, CHAT_MODEL_NAME, CHAT_MODEL_API_VERSION,
|
CHAT_MODEL_NAME, CHAT_MODEL_API_VERSION, CHAT_MODEL_TEMPERATURE,
|
||||||
CHAT_MODEL_TEMPERATURE, CHAT_MODEL_TIMEOUT);
|
CHAT_MODEL_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<String> getCandidateProviders() {
|
private static List<String> getCandidateProviders() {
|
||||||
|
|||||||
@@ -242,10 +242,8 @@ public class DateModeUtils {
|
|||||||
return String.format("%s >= '%s' and %s <= '%s'", dateField,
|
return String.format("%s >= '%s' and %s <= '%s'", dateField,
|
||||||
dateInfo.getStartDate(), dateField, dateInfo.getEndDate());
|
dateInfo.getStartDate(), dateField, dateInfo.getEndDate());
|
||||||
}
|
}
|
||||||
LocalDate endData =
|
LocalDate endData = DateUtils.parseDate(dateInfo.getEndDate());
|
||||||
LocalDate.parse(dateInfo.getEndDate(), DateTimeFormatter.ofPattern(DAY_FORMAT));
|
LocalDate startData = DateUtils.parseDate(dateInfo.getStartDate());
|
||||||
LocalDate startData = LocalDate.parse(dateInfo.getStartDate(),
|
|
||||||
DateTimeFormatter.ofPattern(DAY_FORMAT));
|
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(MONTH_FORMAT);
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(MONTH_FORMAT);
|
||||||
return String.format("%s >= '%s' and %s <= '%s'", dateField,
|
return String.format("%s >= '%s' and %s <= '%s'", dateField,
|
||||||
startData.format(formatter), dateField, endData.format(formatter));
|
startData.format(formatter), dateField, endData.format(formatter));
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public class DateUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String getBeforeDate(String currentDate, DatePeriodEnum datePeriodEnum) {
|
public static String getBeforeDate(String currentDate, DatePeriodEnum datePeriodEnum) {
|
||||||
LocalDate specifiedDate = LocalDate.parse(currentDate, DEFAULT_DATE_FORMATTER2);
|
LocalDate specifiedDate = parseDate(currentDate);
|
||||||
LocalDate startDate;
|
LocalDate startDate;
|
||||||
switch (datePeriodEnum) {
|
switch (datePeriodEnum) {
|
||||||
case MONTH:
|
case MONTH:
|
||||||
@@ -93,7 +93,7 @@ public class DateUtils {
|
|||||||
|
|
||||||
public static String getBeforeDate(String currentDate, int intervalDay,
|
public static String getBeforeDate(String currentDate, int intervalDay,
|
||||||
DatePeriodEnum datePeriodEnum) {
|
DatePeriodEnum datePeriodEnum) {
|
||||||
LocalDate specifiedDate = LocalDate.parse(currentDate, DEFAULT_DATE_FORMATTER2);
|
LocalDate specifiedDate = parseDate(currentDate);
|
||||||
LocalDate result = null;
|
LocalDate result = null;
|
||||||
switch (datePeriodEnum) {
|
switch (datePeriodEnum) {
|
||||||
case DAY:
|
case DAY:
|
||||||
@@ -161,11 +161,25 @@ public class DateUtils {
|
|||||||
return !timeString.equals("00:00:00");
|
return !timeString.equals("00:00:00");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static LocalDate parseDate(String timeString) {
|
||||||
|
DateTimeFormatter[] dateFormatters =
|
||||||
|
{DateTimeFormatter.ofPattern("yyyyMMdd"), DateTimeFormatter.ofPattern("yyyy-MM-dd"),
|
||||||
|
DateTimeFormatter.ofPattern("yyyy/MM/dd"),
|
||||||
|
DateTimeFormatter.ofPattern("yyyy-MM")};
|
||||||
|
for (DateTimeFormatter formatter : dateFormatters) {
|
||||||
|
try {
|
||||||
|
return LocalDate.parse(timeString, formatter);
|
||||||
|
} catch (DateTimeParseException ignored) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static List<String> getDateList(String startDateStr, String endDateStr,
|
public static List<String> getDateList(String startDateStr, String endDateStr,
|
||||||
DatePeriodEnum period) {
|
DatePeriodEnum period) {
|
||||||
try {
|
try {
|
||||||
LocalDate startDate = LocalDate.parse(startDateStr);
|
LocalDate startDate = parseDate(startDateStr);
|
||||||
LocalDate endDate = LocalDate.parse(endDateStr);
|
LocalDate endDate = parseDate(endDateStr);
|
||||||
List<String> datesInRange = new ArrayList<>();
|
List<String> datesInRange = new ArrayList<>();
|
||||||
LocalDate currentDate = startDate;
|
LocalDate currentDate = startDate;
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
||||||
@@ -189,7 +203,7 @@ public class DateUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isAnyDateString(String value) {
|
public static boolean isAnyDateString(String value) {
|
||||||
List<String> formats = Arrays.asList("yyyy-MM-dd", "yyyy-MM", "yyyy/MM/dd");
|
List<String> formats = Arrays.asList("yyyy-MM-dd", "yyyy-MM", "yyyy/MM/dd", "yyyyMMdd");
|
||||||
return isAnyDateString(value, formats);
|
return isAnyDateString(value, formats);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user