jva计算两个日期之间的工作日
时间: 2023-08-09 16:05:43 浏览: 116
以下是 Java 计算两个日期之间的工作日的示例代码:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class WorkingDaysCalculator {
public static long getWorkingDays(LocalDate startDate, LocalDate endDate) {
long workingDays = 0;
LocalDate date = startDate;
while (date.isBefore(endDate)) {
if (date.getDayOfWeek() != DayOfWeek.SATURDAY && date.getDayOfWeek() != DayOfWeek.SUNDAY) {
workingDays++;
}
date = date.plus(1, ChronoUnit.DAYS);
}
return workingDays;
}
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2021, 1, 1);
LocalDate endDate = LocalDate.of(2021, 1, 31);
long workingDays = getWorkingDays(startDate, endDate);
System.out.println("Number of working days between " + startDate + " and " + endDate + ": " + workingDays);
}
}
```
在这个示例中,我们使用了 Java 8 中的 `LocalDate` 类来表示日期,并使用 `ChronoUnit` 类来计算两个日期之间的天数。在 `getWorkingDays` 方法中,我们使用 `while` 循环遍历两个日期之间的每一天,并使用 `getDayOfWeek` 方法来判断一周中的哪一天。如果这一天不是周六或周日,则将其计为工作日。最终,我们将工作日数作为方法的返回值,并在 `main` 方法中打印出来。
阅读全文