Java 输入日期判断是否假期,周末,工作日
时间: 2024-02-23 08:10:05 浏览: 70
您好!针对您的问题,可以使用Java中的Calendar类和Date类来实现日期的输入和判断,具体代码如下:
```java
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
// 输入日期
Calendar calendar = Calendar.getInstance();
calendar.set(2022, Calendar.JANUARY, 1);
Date date = calendar.getTime();
// 判断是否是周末
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {
System.out.println("是周末");
} else {
// 判断是否是工作日
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);
if (hourOfDay < 9 || hourOfDay > 17) {
System.out.println("是工作日,但非工作时间");
} else {
System.out.println("是工作日");
}
}
// 判断是否是节假日
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
if ((month == Calendar.JANUARY && dayOfMonth == 1) // 元旦
|| (month == Calendar.FEBRUARY && (dayOfMonth == 11 || dayOfMonth == 12 || dayOfMonth == 13)) // 春节
|| (month == Calendar.APRIL && dayOfMonth == 4) // 清明节
|| (month == Calendar.MAY && (dayOfMonth == 1 || dayOfMonth == 2 || dayOfMonth == 3)) // 劳动节
|| (month == Calendar.JUNE && (dayOfMonth == 1 || dayOfMonth == 2 || dayOfMonth == 3)) // 端午节
|| (month == Calendar.SEPTEMBER && (dayOfMonth == 10 || dayOfMonth == 11 || dayOfMonth == 12)) // 中秋节
|| (month == Calendar.OCTOBER && (dayOfMonth == 1 || dayOfMonth == 2 || dayOfMonth == 3)) // 国庆节
) {
System.out.println("是节假日");
} else {
System.out.println("不是节假日");
}
}
}
```
需要注意的是,节假日的判断规则可能会根据不同的地区和时间而有所不同,请根据实际情况进行修改。另外,上述代码中的工作时间判断规则是从9:00到17:00,也可以根据实际情况进行修改。
阅读全文