From 19fd657f5a51cdeecc1a3fecff4b9cb8df078f53 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 19 九月 2024 10:46:57 +0800 Subject: [PATCH] 增加计算年龄值与单位方法 --- ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java | 37 ++++++++++++++++++++++++++++++++----- 1 files changed, 32 insertions(+), 5 deletions(-) diff --git a/ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java b/ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java index 452077c..d170569 100644 --- a/ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java +++ b/ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java @@ -3,11 +3,7 @@ import java.lang.management.ManagementFactory; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; +import java.time.*; import java.util.Calendar; import java.util.Date; @@ -180,4 +176,35 @@ w = 0; return weekDays[w]; } + + /** + * 鏍规嵁鐢熸棩璁$畻骞撮緞鍊间互鍙婂勾榫勫崟浣� + * @param birthday 鐢熸棩 + * @return + */ + public static AgeResult calculateAge(Date birthday){ + LocalDate currentDate = LocalDate.now(); + LocalDate birthLocalDate = birthday.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + Period period = Period.between(birthLocalDate, currentDate); + if (period.getYears() > 0){ + return new AgeResult(period.getYears(),1); + } + if (period.getMonths() > 0){ + return new AgeResult(period.getMonths(),2); + } + LocalDateTime birthDateTime = birthday.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + LocalDateTime currentDateTime = LocalDateTime.now(); + Duration duration = Duration.between(birthDateTime, currentDateTime); + long days = duration.toDays(); + if (days > 0){ + return new AgeResult((int) days,3); + } + long hours = duration.toHours(); + if (hours > 0){ + return new AgeResult((int) hours,4); + } + long minutes = duration.toMinutes(); + return new AgeResult((int) minutes,5); + } } + -- Gitblit v1.8.0