java判断时间是否为节假日(或指定的日期),是的话返回true,否返回false

发布时间:2023年12月26日

这个方法属实有点老套,先定义set,需要手动输入要判断的时间才行。?

? 这个代码,就是输入一个日期,来判断这个日期是否为你指定的日期。如果是的话,返回true,否的话返回false。

代码:
package Lx;
 
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashSet;
import java.util.Set;
 
public class HolidayChecker {
 
    // 假设这个Set包含了所有的节假日日期
    // 例如:"12-30","12-31","01-01","02-10"
    private static final Set<String> HOLIDAYS = new HashSet<>();
 
    static {
        // 假设这些是你定义的节假日日期(不考虑年份)
        HOLIDAYS.add("12-30");
        HOLIDAYS.add("12-31");
        HOLIDAYS.add("01-01");
        HOLIDAYS.add("02-10");
        // 可以根据实际需要添加更多节假日
    }
   
    public static void main(String[] args) {
        String testDate = "2023-01-01";  // 从前端接收的日期字符串
        boolean isNotHoliday = isNotHoliday(testDate);
        String testDate2 = "2023-02-01";  // 从前端接收的日期字符串
        boolean isNotHoliday2 = isNotHoliday(testDate2);
        // 根据实际需求改变输出内容
        System.out.println(testDate + " 是不是节假日: " + isNotHoliday);
        System.out.println(testDate2 + " 是不是节假日: " + isNotHoliday2);
    }
 
    // 根据日期字符串判断是否不是节假日
    public static boolean isNotHoliday(String dateStr) {
        // 解析传入的日期
        LocalDate date = LocalDate.parse(dateStr);
        // 格式化为"MM-dd"格式以与节假日进行比较
        String monthDayStr = date.format(DateTimeFormatter.ofPattern("MM-dd"));
        // 如果日期是节假日,返回true;反之返回false
        return HOLIDAYS.contains(monthDayStr);
    }
}
打印:?

文章来源:https://blog.csdn.net/Y2000104/article/details/135225651
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。