From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-course/src/main/java/com/dsh/course/util/LocalDateTimeUtils.java | 46 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 36 insertions(+), 10 deletions(-) diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/LocalDateTimeUtils.java b/cloud-server-course/src/main/java/com/dsh/course/util/LocalDateTimeUtils.java index 1a83e4d..480fb71 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/util/LocalDateTimeUtils.java +++ b/cloud-server-course/src/main/java/com/dsh/course/util/LocalDateTimeUtils.java @@ -5,6 +5,8 @@ import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.Calendar; +import java.util.Date; /** * LocalDateTimeUtils @@ -14,8 +16,8 @@ * @version V1.0 */ public class LocalDateTimeUtils { - private final static int[] dayArr = new int[] { 20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22 }; - private final static String[] constellationArr = new String[] { "摩羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "摩羯座" }; + private final static int[] dayArr = new int[]{20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22}; + private final static String[] constellationArr = new String[]{"摩羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "摩羯座"}; /** @@ -32,16 +34,17 @@ /** * 通过生日计算年龄 + * * @param birthDay 生日 * @return * @throws ParseException */ public static int getAgeByBirth(LocalDate birthDay) throws ParseException { int age = 0; - //出生日期晚于当前时间,无法计算 - LocalDate now=LocalDate.now(); + //出生日期晚于当前时间,无法计算 + LocalDate now = LocalDate.now(); if (birthDay.isAfter(now)) { - throw new IllegalArgumentException( "生日大于当前时间!"); + throw new IllegalArgumentException("生日大于当前时间!"); } //当前年份 int yearNow = now.getYear(); @@ -50,14 +53,14 @@ //当前日期 int dayOfMonthNow = now.getDayOfMonth(); - int yearBirth =birthDay.getYear(); + int yearBirth = birthDay.getYear(); int monthBirth = birthDay.getMonthValue(); int dayOfMonthBirth = birthDay.getDayOfMonth(); //计算整岁数 age = yearNow - yearBirth; if (monthNow <= monthBirth) { if (monthNow == monthBirth) { - if (dayOfMonthNow < dayOfMonthBirth){ + if (dayOfMonthNow < dayOfMonthBirth) { //当前日期在生日之前,年龄减一 age--; } @@ -74,20 +77,43 @@ */ public static String getConstellation(LocalDate date) { - Integer month=date.getMonthValue(); - Integer day=date.getDayOfMonth(); + Integer month = date.getMonthValue(); + Integer day = date.getDayOfMonth(); return day < dayArr[month - 1] ? constellationArr[month - 1] : constellationArr[month]; } /** * 获取当天的星期几 + * * @return */ - public static int getWeekStr(){ + public static int getWeekStr() { LocalDate today = LocalDate.now(); DayOfWeek dayOfWeek = today.getDayOfWeek(); return dayOfWeek.getValue(); } + /** + * 根据输入本周的周几,获取当天的时间 + * + * @param dayOfWeekInput 周几 + * @return + */ + public static Date getDateOfWeekNum(int dayOfWeekInput) { + // 获取当前日期 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + + // 设置为本周的第一天(星期一) + calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); + + // 根据输入的星期几数值,计算出相应的偏移量 + int dayOfWeekIndex = (dayOfWeekInput + 6) % 7; + calendar.add(Calendar.DAY_OF_WEEK, dayOfWeekIndex); + + // 获取计算后的日期 + return calendar.getTime(); + } + } -- Gitblit v1.7.1