这是一种打印两个日期之间所有日期的方法。 但是随着年份的流逝,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]
答案 0 :(得分:1)
使用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);