今天
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还是挺方便的。
这篇博客详细介绍了如何使用Java 8的LocalDateTime、TemporalAdjusters和ZoneId等API来获取今天、本周和本月的日期范围。通过示例代码展示了从LocalDate到Date的转换过程,强调了这些API在日期操作中的便利性。
1161

被折叠的 条评论
为什么被折叠?



