用Java实现当前日期是否在日历
时间: 2023-05-30 17:07:43 浏览: 131
中的工作日。
可以使用Java中的Calendar和Date类来实现。具体步骤如下:
1. 获取当前日期,可以使用Calendar.getInstance()方法获取一个表示当前日期的Calendar对象。
2. 判断当前日期是否为周末,可以使用Calendar.get(Calendar.DAY_OF_WEEK)方法获取当前日期是一周中的第几天,然后判断是否为周六或周日。
3. 判断当前日期是否为法定节假日,可以自行编写一个节假日列表,然后判断当前日期是否在列表中。
4. 判断当前日期是否为调休工作日,可以自行编写一个调休工作日列表,然后判断当前日期是否在列表中。
完整代码如下:
```java
import java.util.Calendar;
import java.util.Date;
public class WorkdayChecker {
// 节假日列表,可以根据需要自行修改
private static final String[] holidays = {
"2021-01-01", // 元旦
"2021-02-11", // 春节
"2021-02-12", // 春节
"2021-02-13", // 春节
"2021-02-14", // 春节
"2021-02-15", // 春节
"2021-02-16", // 春节
"2021-04-05", // 清明节
"2021-05-01", // 劳动节
"2021-05-02", // 劳动节
"2021-05-03", // 劳动节
"2021-05-04", // 劳动节
"2021-06-14", // 端午节
"2021-09-20", // 中秋节
"2021-10-01", // 国庆节
"2021-10-02", // 国庆节
"2021-10-03", // 国庆节
"2021-10-04", // 国庆节
"2021-10-05", // 国庆节
"2021-10-06", // 国庆节
"2021-10-07", // 国庆节
};
// 调休工作日列表,可以根据需要自行修改
private static final String[] workdays = {
"2021-02-07", // 春节调休
"2021-02-20", // 春节调休
"2021-04-25", // 劳动节调休
"2021-05-08", // 劳动节调休
"2021-09-18", // 中秋节调休
"2021-09-26", // 国庆节调休
"2021-10-09", // 国庆节调休
};
public static void main(String[] args) {
Date date = new Date(); // 获取当前日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {
System.out.println("Today is weekend.");
} else {
String dateString = String.format("%04d-%02d-%02d",
calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH));
boolean isHoliday = false;
for (String holiday : holidays) {
if (holiday.equals(dateString)) {
isHoliday = true;
break;
}
}
if (isHoliday) {
System.out.println("Today is holiday.");
} else {
boolean isWorkday = false;
for (String workday : workdays) {
if (workday.equals(dateString)) {
isWorkday = true;
break;
}
}
if (isWorkday) {
System.out.println("Today is workday.");
} else {
System.out.println("Today is neither holiday nor workday.");
}
}
}
}
}
```
阅读全文