1. 概述
在本教程中,我们将探讨Java中计算两个日期之间工作日数量的两种不同方法。我们将看到一种使用_流_的可读版本,以及一种不那么易读但更高效的选项,它根本不进行循环。
2. 使用_流_的全搜索
首先,让我们看看如何使用_流_来实现。计划是循环遍历我们两个日期之间的每一天,并计算工作日:
long getWorkingDaysWithStream(LocalDate start, LocalDate end){
return start.datesUntil(end)
.map(LocalDate::getDayOfWeek)
.filter(day -> !Arrays.asList(DayOfWeek.SATURDAY, DayOfWeek.SUNDAY).contains(day))
.count();
}
大约 4 分钟