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