java controller接收date类型 并判断是工作日 双休日 还是节假日 具体代码
时间: 2023-12-07 20:04:35 浏览: 84
好的,下面是完整的Java代码实现:
```
@GetMapping("/checkDate")
public String checkDate(@RequestParam("date") Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {
// 双休日
return "周末";
} else {
// 工作日
// 判断是否为节假日
int month = calendar.get(Calendar.MONTH) + 1; // 月份从0开始计算,需要加1
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
if ((month == 1 && dayOfMonth == 1) // 元旦节
|| (month == 5 && (dayOfMonth == 1 || dayOfMonth == 2 || dayOfMonth == 3)) // 劳动节
|| (month == 10 && (dayOfMonth == 1 || dayOfMonth == 2 || dayOfMonth == 3 || dayOfMonth == 4 || dayOfMonth == 5 || dayOfMonth == 6 || dayOfMonth == 7))) { // 国庆节
// 节假日
return "节假日";
} else {
// 工作日
return "工作日";
}
}
}
```
这个方法接收一个Date类型的参数,首先将其转换为Calendar类型,并通过Calendar获取日期的星期几。如果是星期六或星期日,则返回“周末”;否则,判断日期是否为国家法定节假日,如果是,则返回“节假日”;否则,返回“工作日”。
上述代码中的国家法定节假日只是一个示例,具体的节假日需要根据实际情况进行判断。
阅读全文