我在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]
如何创建方法或修改上述方法,过滤那些日子甚至只显示几天.我应该使用正则表达式还是可以更轻松地完成它.
您可以添加一个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方法返回该月的一天,从1到31.