|
|
@@ -52,9 +52,9 @@ public class XcrEnterprisePollutionPermitInfoServiceImpl extends ServiceImpl<Xcr
|
|
|
});
|
|
|
// 定义多种日期格式
|
|
|
String[] datePatterns = {
|
|
|
- "dd-MMM-yy HH.mm.ss.SSSSSSSSS a", // 支持中文月份和 AM/PM 标记
|
|
|
- "dd-MMM-yy", // 英文月份
|
|
|
- "yyyy/MM/dd HH:mm:ss.SSSSSSSSS a",
|
|
|
+ "dd-MMM-yy", // 09-DEC-21
|
|
|
+ "dd-MMM-yy HH.mm.ss.SSSSSSSSS a", // 09-7月 -20 12.00.00.000000000 上午
|
|
|
+ "yyyy/MM/dd HH:mm:ss.SSS", // 2020/04/16 00:00:00.000
|
|
|
"yyyy-MM-dd",
|
|
|
"yyyy.MM.dd"
|
|
|
};
|
|
|
@@ -69,10 +69,16 @@ public class XcrEnterprisePollutionPermitInfoServiceImpl extends ServiceImpl<Xcr
|
|
|
}
|
|
|
// 尝试多种日期格式进行解析
|
|
|
private Date parseDate(String dateString, String[] patterns) {
|
|
|
- for (String pattern : patterns) {
|
|
|
- try {
|
|
|
- SimpleDateFormat inputFormat = new SimpleDateFormat(pattern, Locale.US);
|
|
|
- return inputFormat.parse(dateString);
|
|
|
+ if (dateString == null || dateString.trim().isEmpty()) {
|
|
|
+ log.warn("日期字符串为空或空白: {}", dateString);
|
|
|
+ return null; // 或者返回一个默认日期
|
|
|
+ }
|
|
|
+ for (String pattern : patterns) {
|
|
|
+ try {
|
|
|
+ // 使用正确的 Locale
|
|
|
+ Locale locale = pattern.contains("a") ? Locale.CHINA : Locale.US;
|
|
|
+ SimpleDateFormat inputFormat = new SimpleDateFormat(pattern, locale);
|
|
|
+ return inputFormat.parse(dateString);
|
|
|
} catch (ParseException e) {
|
|
|
// 继续尝试下一个格式
|
|
|
}
|
|
|
@@ -81,6 +87,9 @@ public class XcrEnterprisePollutionPermitInfoServiceImpl extends ServiceImpl<Xcr
|
|
|
}
|
|
|
|
|
|
private Date formatDate(Date date) {
|
|
|
+ if (date == null) {
|
|
|
+ return null; // 或者返回一个默认值
|
|
|
+ }
|
|
|
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
|
|
|
String formattedDateStr = outputFormat.format(date);
|
|
|
try {
|