【发布时间】:2019-12-22 09:18:30
【问题描述】:
这是一种打印出两个日期之间的所有日期的方法。 但随着时间的流逝,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、20200101]
【问题讨论】:
-
为什么 20201229、20201230、20201231 ??
-
错误是什么?
-
@shmosel 必须获取 2019-12-23 和 2020-01-01 之间的所有日期。但从 2019-12-29 开始,这一年将是 2020 年。
-
所以这是一个错误,而不是一个错误。
-
@shmosel 对不起。我已经修改了我的写作。
标签: java spring spring-boot java-stream localdate