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

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

这个方法属实有点老套,先定义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);
    }
}
打印:

目录
相关文章
|
24天前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
53 26
|
1月前
|
安全 Java API
告别SimpleDateFormat:Java 8日期时间API的最佳实践
在Java开发中,处理日期和时间是一个基本而重要的任务。传统的`SimpleDateFormat`类因其简单易用而被广泛采用,但它存在一些潜在的问题,尤其是在多线程环境下。本文将探讨`SimpleDateFormat`的局限性,并介绍Java 8引入的新的日期时间API,以及如何使用这些新工具来避免潜在的风险。
35 5
|
2月前
|
Java API
Java的日期类都是怎么用的
【10月更文挑战第1天】本文介绍了 Java 中处理日期和时间的三个主要类:`java.util.Date`、`java.util.Calendar` 和 `java.time` 包下的新 API。`Date` 类用于表示精确到毫秒的瞬间,可通过时间戳创建或获取当前日期;`Calendar` 抽象类提供丰富的日期操作方法,如获取年月日及时区转换;`java.time` 包中的 `LocalDate`、`LocalTime`、`LocalDateTime` 和 `ZonedDateTime` 等类则提供了更为现代和灵活的日期时间处理方式,支持时区和复杂的时间计算。
50 14
|
3月前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
56 3
|
3月前
|
安全 Java API
时间日期API(Date,SimpleDateFormat,Calendar)+java8新增日期API (LocalTime,LocalDate,LocalDateTime)
这篇文章介绍了Java中处理日期和时间的API,包括旧的日期API(Date、SimpleDateFormat、Calendar)和Java 8引入的新日期API(LocalTime、LocalDate、LocalDateTime)。文章详细解释了这些类/接口的方法和用途,并通过代码示例展示了如何使用它们。此外,还讨论了新旧API的区别,新API的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
4月前
|
前端开发 JavaScript Java
【前端学java】java中的日期操作(13)
【8月更文挑战第10天】java中的日期操作
26 2
【前端学java】java中的日期操作(13)
|
4月前
|
Java
比较两个日期是否相等Java
这篇文章提供了Java中比较两个日期是否相等的两种方法:使用`Calendar`类和`SimpleDateFormat`类来确定两个日期是否为同一天,并附有详细的代码示例和测试结果。
|
5月前
|
Java API
Java基础之日期和时间
【7月更文挑战第4天】 Java日期时间API概览:Java 8之前,Date表示不可变时间点,Calendar用于计算,SimpleDateFormat处理格式化。Date的setXXX方法不推荐,Calendar支持加减操作。时区处理用TimeZone,Time仅处理时间(不含日期)。Java 8引入java.time包,提供Instant、LocalDate等线程安全类,改进了性能和易用性,支持时区和更复杂操作。后续将探讨Java 8的新特性!
49 1
|
5月前
|
安全 Java API
Java基础之新日期和时间
“【7月更文挑战第6天】”Java 8 引入了`java.time`包,改进了日期和时间处理。新API包括:`LocalDate`(线程安全的日期)、`LocalTime`(时间)、`LocalDateTime`(日期和时间)、`ZonedDateTime`(带时区的日期和时间)、`Instant`(时间戳)、`DateTimeFormatter`(线程安全的格式化器)、`Period`(日期间隔)和`Duration`(时间间隔)。
31 0
|
5月前
|
安全 Java API
Java基础之新日期和时间
“【7月更文挑战第5天】”Java 8 引入了`java.time`包,改进了日期和时间处理。新API包括线程安全的`LocalDate`、`LocalTime`、`LocalDateTime`、`ZonedDateTime`、`Instant`,以及`DateTimeFormatter`、`Period`和`Duration`。
35 0