From 640ff18d2d7f4be02ddb7f8f75e899f05545eb98 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 05 二月 2024 11:56:52 +0800
Subject: [PATCH] 更新bug修改

---
 cloud-server-course/src/main/java/com/dsh/course/util/DateUtil.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/DateUtil.java b/cloud-server-course/src/main/java/com/dsh/course/util/DateUtil.java
index f9e576f..bc2fb8c 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/DateUtil.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/DateUtil.java
@@ -150,7 +150,7 @@
      */
     public static Date parse(String date, String pattern) {
         try {
-            if(Objects.nonNull(date)) {
+            if (Objects.nonNull(date)) {
                 return DateUtils.parseDate(date, pattern);
             }
         } catch (ParseException e) {
@@ -237,6 +237,24 @@
         return dateStr;
     }
 
+
+    /**
+     * 得到n天之后的日期
+     */
+    public static String getAfterDayDate2(Date date, String days) {
+        int daysInt = Integer.parseInt(days);
+
+        Calendar canlendar = Calendar.getInstance(); // java.util包
+        canlendar.setTime(date);
+        canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动
+        Date afterDate = canlendar.getTime();
+
+        SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd");
+        String dateStr = sdfd.format(afterDate);
+
+        return dateStr;
+    }
+
     /**
      * 得到n天之后是周几
      */
@@ -286,6 +304,7 @@
         Calendar cal = Calendar.getInstance();
         return cal;
     }
+
     /**
      * 毫秒转日期时间
      *
@@ -329,4 +348,43 @@
         return dt1.getTime();
     }
 
+
+    /**
+     * 计算年龄
+     *
+     * @param birthDate
+     * @return
+     */
+    public static int age(Date birthDate) {
+        // 当前日历
+        Calendar nowCalendar = Calendar.getInstance();
+        // 生日大于当前日期
+        if (nowCalendar.before(birthDate)) {
+            throw new IllegalArgumentException("The birth date is before current time, it's unbelievable");
+        }
+        // 当前年月日
+        int yearNow = nowCalendar.get(Calendar.YEAR);
+        int monthNow = nowCalendar.get(Calendar.MONTH);
+        int dayNow = nowCalendar.get(Calendar.DAY_OF_MONTH);
+        // 出生日期年月日
+        Calendar birthCalendar = Calendar.getInstance();
+        birthCalendar.setTime(birthDate);
+        int yearBirth = birthCalendar.get(Calendar.YEAR);
+        int monthBirth = birthCalendar.get(Calendar.MONTH);
+        int dayBirth = birthCalendar.get(Calendar.DAY_OF_MONTH);
+        // 粗计算年龄
+        int age = yearNow - yearBirth;
+        // 当前月份小于出生月份年龄减一
+        if (monthNow < monthBirth) {
+            age--;
+        }
+        // 当前月份等于出生月份,日小于生日年龄减一
+        else if (monthNow == monthBirth && dayNow < dayBirth) {
+            age--;
+        }
+        // 返回年龄值
+        return age;
+    }
+
+
 }

--
Gitblit v1.7.1