JAVA判断一周中某一天是否为工作日
时间: 2024-10-04 11:05:04 浏览: 28
在Java中,你可以通过创建一个枚举类型的`DayOfWeek`来表示工作日和非工作日,然后结合日期类`LocalDate`来判断。首先,定义一个枚举:
```java
public enum DayType {
WEEKEND("周末", LocalDate.SATURDAY, LocalDate.SUNDAY),
WORKING_DAY("工作日", EnumSet.range(LocalDate.MONDAY, LocalDate.FRIDAY));
private String name;
private final EnumSet<LocalDate> days;
DayType(String name, EnumSet<LocalDate> days) {
this.name = name;
this.days = days;
}
public boolean isWorkingDay(LocalDate date) {
return days.contains(date);
}
}
```
接下来,你可以使用这个枚举来检查给定日期是否为工作日:
```java
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate givenDate = LocalDate.of(2023, 1, 5); // 测试日期
DayType dayType = DayType.valueOf(givenDate.getDayOfWeek().name());
if (dayType == DayType.WORKING_DAY) {
System.out.println("这一天是工作日");
} else {
System.out.println("这一天是周末");
}
}
}
```
在这个例子中,如果`givenDate`是周六或周日,那么`dayType`将是`WEEKEND`,反之则是`WORKING_DAY`。
阅读全文