我已经用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还是可以更轻松地做到这一点。
答案 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
方法返回每月的某天,从1
到31
。