From d09828cdec78a160f4530a8ab245216ed8671c27 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期三, 20 九月 2023 18:43:48 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 47 insertions(+), 10 deletions(-) diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java b/cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java index ea6f35b..a06b0d6 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java +++ b/cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java @@ -2,9 +2,8 @@ import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.Instant; -import java.time.LocalDateTime; -import java.time.ZoneId; +import java.time.*; +import java.time.temporal.TemporalAdjusters; import java.util.*; @@ -1439,6 +1438,24 @@ return weekDays[w]; } + + /** + * 获取当前日期是星期几<br> + * Obtain the day of the week for the current date. + * @param dt + * @return 当前日期是星期几 + */ + public static int getWeekNumOfDate(Date dt) { + Integer[] weekDays = {7, 1, 2, 3, 4, 5, 6}; // 将周一的数值设为2,依次递增表示周二到周日 + Calendar cal = Calendar.getInstance(); + cal.setTime(dt); + int w = cal.get(Calendar.DAY_OF_WEEK) - 1; + if (w < 0) { + w = 6; // 如果为负数,将其设为6,表示周日 + } + return weekDays[w]; + } + /** * 获取今天时间 2017-11-20 00:00:00 */ @@ -1757,13 +1774,33 @@ return list; } - /*public static void main(String[] args) throws ParseException { - List<Date> allTheDateOftheMonth = getAllTheDateOftheMonth(new Date()); - Date date = allTheDateOftheMonth.get(11); - System.out.println(date.toLocaleString()); - int i = daysBetween(new Date(), date); - System.out.println(i); - }*/ + public static Date getTodayTime(){ + // 获取当天的开始时间(0点) + LocalDate today = LocalDate.now(); + LocalDateTime startOfDay = LocalDateTime.of(today, LocalTime.MIN); + return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant()); + } + + public static Date getWeekOfLastDay(){ + // 获取本周的最后一天的时间(23点59分59秒) + LocalDate today = LocalDate.now(); + LocalDate lastDayOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); + LocalDateTime endOfDay = LocalDateTime.of(lastDayOfWeek, LocalTime.MAX); + return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant()); + } + + /** + * 获取有效期数的结束时间 + * @param startTime 开始时间 + * @param validPeriod 有效期数 + * @return 结束时间 + */ + public static Date getExpirationDate(Date startTime, int validPeriod){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(startTime); + calendar.add(Calendar.DAY_OF_MONTH, validPeriod); + return calendar.getTime(); + } } -- Gitblit v1.7.1