两个日期之间的所有日期输出错误

All date output bug between two dates

这是一种打印出两个日期之间的所有日期的方法。 但随着时间的流逝,12 月部分将增加一年。 有一个错误。

这是韩国约会。 对不起译者。

String startDate = "2019-12-23";
String endDate = "2020-01-01";

LocalDate start = LocalDate.parse(startDate);
LocalDate end = LocalDate.parse(endDate).plusDays(1);
List<String> dates = Stream.iterate(start, date -> date.plusDays(1))
    .limit(ChronoUnit.DAYS.between(start, end))
    .map(date -> date.format(DateTimeFormatter.ofPattern("YYYYMMdd")))
    .collect(Collectors.toList());


System.err.println(dates);

错误:[20191223、20191224、20191225、20191226、20191227、20191228、20201229、20201230、20201231[=20=10]、20[20] 11=]

使用 BASIC_ISO_DATE 它会解决您的问题

List<String> dates = Stream.iterate(start, date -> date.plusDays(1))
                .limit(ChronoUnit.DAYS.between(start, end))
                .map(date -> date.format(DateTimeFormatter.BASIC_ISO_DATE))
                .collect(Collectors.toList());


System.err.println(dates);