From 6f05a3669979af08422a2f6fd6df93e3e39774d7 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期日, 26 九月 2021 19:31:50 +0800 Subject: [PATCH] 修改bug --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java | 119 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 69 insertions(+), 50 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 f37264e..feb3f60 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 @@ -11,54 +11,9 @@ // 根据年月日计算年龄,birthTimeString:"1994-11-14" public static int getAgeFromBirthTime(String birthTimeString) { // 先截取到字符串中的年、月、日 - int selectYear = Integer.parseInt(birthTimeString.substring(0,4)); - int selectMonth = Integer.parseInt(birthTimeString.substring(4,6)); - int selectDay = Integer.parseInt(birthTimeString.substring(6,8)); - // 得到当前时间的年、月、日 - 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 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)); + int selectYear = Integer.parseInt(birthTimeString.substring(0, 4)); + int selectMonth = Integer.parseInt(birthTimeString.substring(4, 6)); + int selectDay = Integer.parseInt(birthTimeString.substring(6, 8)); // 得到当前时间的年、月、日 Calendar cal = Calendar.getInstance(); int yearNow = cal.get(Calendar.YEAR); @@ -107,8 +62,72 @@ return getAgeFromBirthTime(birthTimeString); } + public static String getAgeFormatBirthday(String brithday) { + if (StringUtils.isEmpty(brithday)) { + return ""; + } + String year = brithday.substring(0, 4); + String month = brithday.substring(4, 6); + String ri = brithday.substring(6, 8); + return year + "-" + month + "-" + ri; + } + + 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 - 1; + } + + public static int getAgeFromBirthTimes(long birthTimeLong) { + Date date = new Date(birthTimeLong * 1000l); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + String birthTimeString = format.format(date); + return getAgeFromBirthTimes(birthTimeString); + } + public static void main(String[] args) { - int age = getAgeFromBirthTime("1995-08-18"); - System.out.println(age); + String yese = "19980516"; + String year = yese.substring(0, 4); + String month = yese.substring(4, 6); + String ri = yese.substring(6, 8); } } -- Gitblit v1.7.1