From e29d594f812c201abaa2e2d1c031a9ab61ba8200 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 03 六月 2025 09:09:27 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/core/utils/Constants.java |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 00e3625..c81b7c9 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -21,7 +21,10 @@
 import java.math.RoundingMode;
 import java.net.URL;
 import java.net.URLDecoder;
+import java.time.Instant;
 import java.time.LocalDate;
+import java.time.Period;
+import java.time.ZoneId;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.Date;
@@ -317,6 +320,26 @@
         return Constants.countPriceVO(countCyclePriceDTO.getStartDate(),countCyclePriceDTO.getSolutions());
     }
 
+    public static int calculateAge(String idCard,Date dateDate) {
+        if (idCard == null || idCard.length() != 18) {
+            throw new IllegalArgumentException("韬唤璇佸彿鐮佸繀椤绘槸18浣�");
+        }
+
+        // 鎻愬彇鍑虹敓鏃ユ湡
+        String birthDateStr = idCard.substring(6, 14); // 渚嬪锛�19900101
+        LocalDate birthDate = LocalDate.parse(birthDateStr);
+        Instant instant = dateDate.toInstant();
+        // 鑾峰彇褰撳墠鏃ユ湡
+        LocalDate currentDate = instant.atZone(ZoneId.systemDefault()).toLocalDate(); // 杞崲涓� LocalDate
+
+        // 璁$畻骞撮緞
+        Period period = Period.between(birthDate, currentDate);
+        int age = period.getYears(); // 鐩存帴鑾峰彇骞翠唤宸嵆涓哄勾榫�
+
+        return age;
+    }
+
+
     public static CountCyclePriceVO countPriceVO(Date startDate, Solutions solutions){
         CountCyclePriceVO countCyclePriceVO = new CountCyclePriceVO();
         //澶�

--
Gitblit v1.9.3