jdk1.8有了新的日期api、以及流的处理,这让可以精简我们的代码,使代码具有更好的阅读性。
用到的技术:
1.新的日期api LocalDate
2.无限流的创建、截断流、流数据收集器
/**
* 获取一段时间内的所有日期.
*
* @param start
* 开始日期.
* @param end
* 结束日期.
* @return 所有的日期集合.
*/
public static List<LocalDate> getAllDaysWithRange(LocalDate start, LocalDate end) {
if (start.isAfter(end)) {
throw new TimeException("开始时间不能晚于结束时间");
}
return Stream.iterate(start, localDate -> localDate.plusDays(1)).limit(ChronoUnit.DAYS.between(start, end) + 1)
.collect(Collectors.toList());
}
该博客展示了如何利用Java 8的 LocalDate 和 Stream API 实现从一个日期到另一个日期之间所有日期的生成。通过iterate、limit和collect方法,简洁地将日期范围转换为日期集合,提高了代码的可读性。

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



