java8 判断当前日期是否是节假日、双休日
时间: 2023-12-07 15:04:02 浏览: 179
要判断当前日期是否是节假日、双休日,可以使用Java 8中的java.time包中的类和方法。具体可以按照以下步骤进行操作:
1. 首先,需要创建一个LocalDate对象表示当前日期,可以使用now()方法获取当前日期:
```java
LocalDate today = LocalDate.now();
```
2. 判断当前日期是否是节假日,可以使用第三方API或者自己实现一个判断方法。这里以自己实现为例,假设节假日包括元旦节、春节、清明节、劳动节、端午节、中秋节、国庆节。可以定义一个方法,判断当前日期是否在这些节假日之一:
```java
public static boolean isHoliday(LocalDate date) {
int month = date.getMonthValue();
int day = date.getDayOfMonth();
if ((month == 1 && day == 1) || // 元旦节
(month == 2 && day >= 4 && day <= 10) || // 春节
(month == 4 && day >= 4 && day <= 6) || // 清明节
(month == 5 && day >= 1 && day <= 3) || // 劳动节
(month == 6 && day >= 12 && day <= 14) || // 端午节
(month == 9 && day >= 19 && day <= 21) || // 中秋节
(month == 10 && day >= 1 && day <= 7)) { // 国庆节
return true;
}
return false;
}
```
3. 判断当前日期是否是双休日,可以使用DayOfWeek枚举类的值来判断。如果当前日期是星期六或星期日,则认为是双休日。可以使用getDayOfWeek()方法获取当前日期的星期几:
```java
public static boolean isWeekend(LocalDate date) {
DayOfWeek dayOfWeek = date.getDayOfWeek();
return dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY;
}
```
4. 最后,可以通过调用上面定义的方法来判断当前日期是否是节假日、双休日:
```java
if (isHoliday(today)) {
System.out.println("今天是节假日!");
} else if (isWeekend(today)) {
System.out.println("今天是双休日!");
} else {
System.out.println("今天是工作日!");
}
```
需要注意的是,判断节假日需要根据具体情况调整,例如春节日期会根据农历而有所不同。同时,如果需要判断其他国家或地区的节假日,也需要根据当地情况进行调整。
阅读全文