From cbc1828ae240e37a37670f2760b80649c11679e2 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期一, 11 八月 2025 08:58:56 +0800
Subject: [PATCH] zjh20250811

---
 ltkj-admin/src/test/java/zjhTest.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java
index 4f48657..bea1f4b 100644
--- a/ltkj-admin/src/test/java/zjhTest.java
+++ b/ltkj-admin/src/test/java/zjhTest.java
@@ -1,4 +1,5 @@
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
 import com.ltkj.LtkjApplication;import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.TjJcycxm;
@@ -22,6 +23,9 @@
 import java.math.BigDecimal;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
@@ -34,6 +38,8 @@
 import java.io.File;
 import java.io.IOException;
 
+import static com.ltkj.framework.config.MatchUtils.getIdCardBirthDayStr;
+import static com.ltkj.framework.config.MatchUtils.isIdCard;
 
 
 /**
@@ -85,10 +91,37 @@
         public static void main(String[] args) throws Exception {
 
             String s = "62272219610528411X";
-            System.out.println(isValidIdCard(s) ? "鍚堟硶" : "闈炴硶");
+            System.out.println(getBirthDayByIdCard(s));
 
         }
 
+
+    public static String getBirthDayByIdCard(String idCard) throws Exception {
+        if (!isIdCard(idCard)) {
+            throw new Exception("韬唤璇佷笉姝g‘");
+        }
+        // 鑾峰彇韬唤璇佺殑鍑虹敓骞存湀鏃ヤ覆
+        String birth = getIdCardBirthDayStr(idCard);
+        // 鑾峰彇骞存湀鏃�
+        int year = Integer.parseInt(birth.substring(0, 4));
+        int month = Integer.parseInt(birth.substring(4, 6));
+        int day = Integer.parseInt(birth.substring(6, 8));
+        String sr = year + "-" + month + "-" + day;
+
+        // 瑙f瀽涓� Date
+        Date date = DateUtil.parse(sr, "yyyy-MM-dd");
+        // 杞崲涓� LocalDateTime
+        LocalDateTime dateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
+        // 璁剧疆鍥哄畾鏃跺垎绉�
+        dateTime = dateTime.withHour(12).withMinute(34).withSecond(56);
+
+        // 鏍煎紡鍖栦负瀛楃涓茶繑鍥�
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        return dateTime.format(formatter);
+    }
+
+
+
     public static boolean isValidIdCard(String idCardNumber) {
         // 姝e垯琛ㄨ揪寮忥紝鍖归厤韬唤璇佸彿鐮佺殑鏍煎紡
         String regex = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";

--
Gitblit v1.8.0