使用流按偶数日期过滤日期

时间:2019-01-25 21:36:51

标签: java

我已经用Java 9编写了从LocalDate获取日子的方法。

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

以上方法将显示以下结果:

[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]

我该如何创建方法或对方法进行修改,以过滤那些日子以仅显示偶数天。我应该使用regexp还是可以更轻松地做到这一点。

1 个答案:

答案 0 :(得分:8)

您可以向其中添加filter并过滤月份中的偶数天:

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

getDayOfMonth方法返回每月的某天,从131