java实现工作日和节假日区分
时间: 2023-05-21 11:03:20 浏览: 72
可以使用Java的Calendar类来实现工作日和节假日的区分。首先,需要定义一个节假日列表,然后在判断日期是否为工作日时,先判断是否为节假日,如果是节假日则返回false,否则再判断是否为周六或周日,如果是则返回false,否则返回true。以下是示例代码:
```
import java.util.Calendar;
import java.util.Date;
public class WorkdayChecker {
private static final int[] HOLIDAYS = {1, 3, 4, 5, 6, 10, 11}; // 节假日列表,表示1月1日、3月8日、4月5日、5月1日、6月1日、10月1日、11月1日为节假日
public static boolean isWorkday(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
for (int holiday : HOLIDAYS) {
if (month == holiday && dayOfMonth == 1) { // 判断是否为节假日
return false;
}
}
return dayOfWeek != Calendar.SATURDAY && dayOfWeek != Calendar.SUNDAY; // 判断是否为周六或周日
}
}
```
可以通过调用`WorkdayChecker.isWorkday(date)`方法来判断一个日期是否为工作日。