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