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