refactor: 优化calcite自定义函数性能

This commit is contained in:
junjun 2024-02-28 13:50:34 +08:00
parent bb95102c97
commit 8113d635cf

View File

@ -0,0 +1,79 @@
package io.dataease.engine.utils;
import java.text.SimpleDateFormat;
/**
* @Author Junjun
*/
public class DateUtils {
private static final String format = "yyyy-MM-dd HH:mm:ss";
private static final String minuteFormat = "yyyy-MM-dd HH:mm";
private static final String hourFormat = "yyyy-MM-dd HH";
private static final String dateOnly = "yyyy-MM-dd";
private static final String monthOnly = "yyyy-MM";
private static final String yearOnly = "yyyy";
private static final String timeOnly = "HH:mm:ss";
public static String get_date_format(String date) {
// check date split '-' or '/'
String format1 = format;
String minuteFormat1 = minuteFormat;
String hourFormat1 = hourFormat;
String timeOnly1 = timeOnly;
String dateOnly1 = dateOnly;
String monthOnly1 = monthOnly;
String yearOnly1 = yearOnly;
if (date != null && date.contains("/")) {
format1 = format1.replaceAll("-", "/");
minuteFormat1 = minuteFormat1.replaceAll("-", "/");
hourFormat1 = hourFormat1.replaceAll("-", "/");
timeOnly1 = timeOnly1.replaceAll("-", "/");
dateOnly1 = dateOnly1.replaceAll("-", "/");
monthOnly1 = monthOnly1.replaceAll("-", "/");
yearOnly1 = yearOnly1.replaceAll("-", "/");
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format1);
simpleDateFormat.parse(date);
return format1;
} catch (Exception e) {
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(minuteFormat1);
simpleDateFormat.parse(date);
return minuteFormat1;
} catch (Exception e) {
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(hourFormat1);
simpleDateFormat.parse(date);
return hourFormat1;
} catch (Exception e) {
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(timeOnly1);
simpleDateFormat.parse(date);
return timeOnly1;
} catch (Exception e) {
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateOnly1);
simpleDateFormat.parse(date);
return dateOnly1;
} catch (Exception e) {
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(monthOnly1);
simpleDateFormat.parse(date);
return monthOnly1;
} catch (Exception e) {
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(yearOnly1);
simpleDateFormat.parse(date);
return yearOnly1;
} catch (Exception e) {
}
return format1;
}
}