/** * 获取指定日期所在周的周日日期(周日为开始,周六为结束) * @param date 指定日期的LocalDate格式数据 * @return */ public static Date getStartDayOfWeek(TemporalAccessor date) { TemporalField fieldIso = WeekFields.of(DayOfWeek.SUNDAY, 1).dayOfWeek(); LocalDate localDate = LocalDate.from(date); localDate = localDate.with(fieldIso, 1); return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); }
/** * 获取指定日期所在周的周六日期(周日为开始,周六为结束) * @param date 指定日期的LocalDate格式数据 * @return */ public static Date getEndDayOfWeek(TemporalAccessor date) { TemporalField fieldIso = WeekFields.of(DayOfWeek.SUNDAY, 1).dayOfWeek(); LocalDate localDate = LocalDate.from(date); localDate = localDate.with(fieldIso, 7); return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); }
/** * 获取指定日期所在月的1号日期 * @param date 指定日期 * @return */ public static LocalDate getStartDayOfMonth(LocalDate date) { return LocalDate.of(date.getYear(),date.getMonth(),1); }
/** * 获取指定日期所在月的最后一天日期 * @param date 指定日期 * @return */ public static LocalDate getEndDayOfMonth(LocalDate date) { return date.with(TemporalAdjusters.lastDayOfMonth()); }
PS:此博文仅做学习记录使用