From dd6687b118561100e1677e88a9c2f5842a54c531 Mon Sep 17 00:00:00 2001
From: jialh <1972868360@qq.com>
Date: 星期四, 16 四月 2026 18:14:14 +0800
Subject: [PATCH] 水电话费

---
 java110-utils/src/main/java/com/java110/utils/util/DateUtil.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java b/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
index 1a916dd..b615608 100755
--- a/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
@@ -10,6 +10,7 @@
 import java.time.LocalDateTime;
 import java.time.Period;
 import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
 import java.util.*;
 
 /**
@@ -26,7 +27,24 @@
         LocalDate date = LocalDate.of(year, month, 1); // 鍒涘缓涓�涓棩鏈熷璞★紝骞翠唤鍜屾湀浠戒负鎸囧畾鍊硷紝鏃ユ湡涓�1鍙�
         return date.lengthOfMonth(); // 杩斿洖璇ユ湀鐨勫ぉ鏁�
     }
+    private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 
+    public static boolean isValidDate(String dateStr) {
+        // 鉁� 鍏抽敭淇锛氬厛褰诲簳鍘婚櫎鍓嶅悗绌虹櫧锛堝寘鎷┖鏍笺�佸埗琛ㄧ銆佹崲琛岋級
+        if (dateStr == null || dateStr.isEmpty()) {
+            return true;
+        }
+
+        // 鍘绘帀鎵�鏈夌┖鐧藉悗鍐嶆牎楠�
+        String cleanDate = dateStr.trim();
+
+        try {
+            LocalDate.parse(cleanDate, DATE_FORMATTER);
+            return true;
+        } catch (DateTimeParseException e) {
+            return false;
+        }
+    }
     private static Map<String, SimpleDateFormat> formats = new HashMap();
     public static final String DATE_FORMATE_STRING_DEFAULT = "yyyyMMddHHmmss";
     public static final String DATE_FORMATE_STRING_A = "yyyy-MM-dd HH:mm:ss";

--
Gitblit v1.8.0