From 2af7739a8517d2d54c0b4f14af5c77e036cf653e Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期一, 31 五月 2021 14:50:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test

---
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java |   52 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 47 insertions(+), 5 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java
index 6b5f13e..f37264e 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java
@@ -54,6 +54,51 @@
         return age;
     }
 
+    public static int getAgeFromBirthTimes(String birthTimeString) {
+        // 先截取到字符串中的年、月、日
+        int selectYear = Integer.parseInt(birthTimeString.substring(0,4));
+        int selectMonth = Integer.parseInt(birthTimeString.substring(5,7));
+        int selectDay = Integer.parseInt(birthTimeString.substring(8,10));
+        // 得到当前时间的年、月、日
+        Calendar cal = Calendar.getInstance();
+        int yearNow = cal.get(Calendar.YEAR);
+        int monthNow = cal.get(Calendar.MONTH) + 1;
+        int dayNow = cal.get(Calendar.DATE);
+
+        // 用当前年月日减去生日年月日
+        int yearMinus = yearNow - selectYear;
+        int monthMinus = monthNow - selectMonth;
+        int dayMinus = dayNow - selectDay;
+
+        int age = yearMinus;// 先大致赋值
+        if (yearMinus < 0) {// 选了未来的年份
+            age = 0;
+        } else if (yearMinus == 0) {// 同年的,要么为1,要么为0
+            if (monthMinus < 0) {// 选了未来的月份
+                age = 0;
+            } else if (monthMinus == 0) {// 同月份的
+                if (dayMinus < 0) {// 选了未来的日期
+                    age = 0;
+                } else if (dayMinus >= 0) {
+                    age = 1;
+                }
+            } else if (monthMinus > 0) {
+                age = 1;
+            }
+        } else if (yearMinus > 0) {
+            if (monthMinus < 0) {// 当前月>生日月
+            } else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄
+                if (dayMinus < 0) {
+                } else if (dayMinus >= 0) {
+                    age = age + 1;
+                }
+            } else if (monthMinus > 0) {
+                age = age + 1;
+            }
+        }
+        return age;
+    }
+
     // 根据时间戳计算年龄
     public static int getAgeFromBirthTime(long birthTimeLong) {
         Date date = new Date(birthTimeLong * 1000l);
@@ -63,10 +108,7 @@
     }
 
     public static void main(String[] args) {
-        String yese = "19980516";
-        String year = yese.substring(0,4);
-        String month = yese.substring(4,6);
-        String ri = yese.substring(6,8);
-        System.out.println();
+        int age = getAgeFromBirthTime("1995-08-18");
+        System.out.println(age);
     }
 }

--
Gitblit v1.7.1