From d182dc7cd0ebd4b8dc4a8048e79a629209d2bf43 Mon Sep 17 00:00:00 2001
From: fhx <308050795@qq.com>
Date: 星期四, 16 十一月 2023 17:14:13 +0800
Subject: [PATCH] 1.新增工具类方法

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

diff --git a/src/main/java/com/hx/util/DateUtil.java b/src/main/java/com/hx/util/DateUtil.java
index ddefebf..29b40d0 100644
--- a/src/main/java/com/hx/util/DateUtil.java
+++ b/src/main/java/com/hx/util/DateUtil.java
@@ -780,4 +780,69 @@
         calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
         return calendar.getTime();
     }
+
+    /**
+     * 鏍规嵁鍑虹敓骞存湀鏃ヨ绠楀勾榫�
+     * @param birth
+     * @return
+     */
+    public static int getAge(Date birth) {
+        Calendar cal = Calendar.getInstance();
+        int thisYear = cal.get(Calendar.YEAR);
+        int thisMonth = cal.get(Calendar.MONTH);
+        int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
+
+        cal.setTime(birth);
+        int birthYear = cal.get(Calendar.YEAR);
+        int birthMonth = cal.get(Calendar.MONTH);
+        int birthdayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
+
+        int age = thisYear - birthYear;
+
+        // 鏈冻鏈�
+        if (thisMonth <= birthMonth) {
+            // 褰撴湀
+            if (thisMonth == birthMonth) {
+                // 鏈冻鏃�
+                if (dayOfMonth < birthdayOfMonth) {
+                    age--;
+                }
+            } else {
+                age--;
+            }
+        }
+        return age;
+    }
+
+    /**
+     * 鑾峰彇鏌愬ぉ缁撴潫绉掓暟
+     * @param dateTime      鏃ユ湡
+     * @param lateSecond    寤惰繜绉掓暟
+     * @return
+     */
+    public static long todayEndSecond(Date dateTime, Long lateSecond) {
+        if(dateTime == null){
+            dateTime = new Date();
+        }
+        if(lateSecond == null){
+            lateSecond = 0L;
+        }
+        Date endTime = DateUtil.dayToEndDate(dateTime);
+        return differSecond(dateTime, endTime) + lateSecond;
+    }
+
+    /**
+     * 璁$畻2涓疄闄呯浉宸鏁�
+     * @param startTime 寮�濮嬫椂闂�
+     * @param endTime   缁撴潫鏃堕棿
+     * @return
+     */
+    public static long differSecond(Date startTime, Date endTime) {
+        if(startTime == null || endTime == null){
+            return 0L;
+        }
+        long sTime = startTime.getTime();
+        long eTime = endTime.getTime();
+        return (eTime - sTime) / 1000L;
+    }
 }

--
Gitblit v1.8.0