今天
LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
LocalDateTime todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
Date begin = Date.from(todayStart.atZone(ZoneId.systemDefault()).toInstant());
Date end = Date.from(todayEnd.atZone(ZoneId.systemDefault()).toInstant());
本周
LocalDate today = LocalDate.now();
LocalDateTime weekStart = LocalDateTime.of(today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)), LocalTime.MIN);
LocalDateTime weekEnd = LocalDateTime.of(today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)), LocalTime.MAX);
Date begin = Date.from(weekStart.atZone(ZoneId.systemDefault()).toInstant());
Date end = Date.from(weekEnd.atZone(ZoneId.systemDefault()).toInstant());
本月
LocalDate today = LocalDate.now();
LocalDateTime monthStart = LocalDateTime.of(LocalDate.of(today.getYear(), today.getMonth(), 1), LocalTime.MIN);
LocalDateTime monthEnd = LocalDateTime.of(today.with(TemporalAdjusters.lastDayOfMonth()), LocalTime.MAX);
Date begin = Date.from(monthStart.atZone(ZoneId.systemDefault()).toInstant());
Date end = Date.from(monthEnd.atZone(ZoneId.systemDefault()).toInstant());
日期操作相关apijava8还是挺方便的。