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