使用流按日期过滤日期

Red*_*ddi 3 java

我在Java 9中编写了一个方法,用于从LocalDate中获取数天.

private static List<LocalDate> getDaysOneDayDifference(LocalDate start, LocalDate end) {
   return start.datesUntil(end).collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)

以上方法打印此结果:

[2019-01-25, 2019-01-26, 2019-01-27, 2019-01-28, 2019-01-29, 2019-01-30, 2019-01-31, 2019-02-01, 2019-02-02, 2019-02-03]

如何创建方法或修改上述方法,过滤那些日子甚至只显示几天.我应该使用正则表达式还是可以更轻松地完成它.

Mar*_*ark 8

您可以添加一个filter并过滤月中的日期为偶数的天数:

private static List<LocalDate> getDaysOneDayDifference(LocalDate start, LocalDate end) {
   return start.datesUntil(end)
               .filter(d -> d.getDayOfMonth() % 2 == 0)
               .collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)

getDayOfMonth方法返回该月的一天,从131.