怎么生成两个日期中间每一天的list出来呢

String start = "2018.01.01";
String start = "2018.01.05";
public static List<String> collectLocalDates(String timeStart, String timeEnd){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
return collectLocalDates(LocalDate.parse(timeStart, formatter), LocalDate.parse(timeEnd, formatter));
}

public static List<String> collectLocalDates(LocalDate start, LocalDate end){
// 用起始时间作为流的源头,按照每次加一天的方式创建一个无限流
return Stream.iterate(start, localDate -> localDate.plusDays(1))
// 截断无限流,长度为起始时间和结束时间的差+1个
.limit(ChronoUnit.DAYS.between(start, end) + 1)
// 由于最后要的是字符串,所以map转换一下
.map(LocalDate::toString)
// 把流收集为List
.collect(Collectors.toList());
}

猜你喜欢

转载自www.cnblogs.com/daojia/p/9477029.html