我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java判断节假日

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java判断节假日

 日常开发很多场景会需要判断节假日

下面的代码可以用于判断一个给定的日期是否是周末、法定节假日、传统节日或者调休日
其中有使用到hutool的ChineseDate类,使用前记得加上hutool的依赖。

import cn.hutool.core.date.ChineseDate;import java.time.DayOfWeek;import java.time.LocalDate;import java.time.Month;import java.time.format.DateTimeFormatter;import java.util.HashSet;import java.util.Set;public class HolidayChecker {    private static final Set PUBLIC_HOLIDAYS = new HashSet<>();    private static final Set SUBSTITUTE_WORKDAYS = new HashSet<>();    private static final String CHINESE_HOLIDAYS = "春节,清明节,端午节,中秋节";    static {        // 添加法定节假日到集合中        // 元旦节        PUBLIC_HOLIDAYS.add(LocalDate.of(LocalDate.now().getYear(), Month.JANUARY, 1));        // 国庆节        PUBLIC_HOLIDAYS.add(LocalDate.of(LocalDate.now().getYear(), Month.OCTOBER, 1));        //添加调休日到集合中        SUBSTITUTE_WORKDAYS.add(LocalDate.of(LocalDate.now().getYear(), Month.OCTOBER, 7));    }    public static boolean isWeekendOrPublicHoliday(String dateString) {        // 将字符串日期转换为LocalDate对象        LocalDate date = LocalDate.parse(dateString, DateTimeFormatter.ofPattern("yyyy-MM-dd"));        // 检查日期是否为调休日        if (SUBSTITUTE_WORKDAYS.contains(date)) {            return false;        }        // 检查日期是否为周末(星期六或星期日)        if (date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY) {            return true;        }        // 检查日期是否为法定节假日        if (PUBLIC_HOLIDAYS.contains(date)) {            return true;        }        // 检查日期是否为传统节日        ChineseDate chineseDate = new ChineseDate(DateUtil.parseDate(dateString));        if (CHINESE_HOLIDAYS.contains(chineseDate.getFestivals())) {            return true;        }        return false;    }    public static void main(String[] args) {        String dateString = "2023-10-01"; // 示例日期字符串        boolean isWeekendOrPublicHoliday = isWeekendOrPublicHoliday(dateString);        System.out.println(isWeekendOrPublicHoliday);    }}

优化:
1.方法中的所有节假日及调休日期都是在代码中写死的,不便于节假日的维护,可以在数据库中建表并提供接口配合element-ui中的Calendar组件进行维护,这样更便于用户使用
2.方法返回值是布尔类型用来区分节假日和非节假日,可以考虑返回更多信息,例如节日的类型(如"周末"、"法定节假日"、"调休日"或"传统节日")

来源地址:https://blog.csdn.net/qq_47559530/article/details/131941169

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java判断节假日

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle怎么判断日期是否为节假日

Oracle数据库本身并没有内置的函数或方法来判断日期是否为节假日,但可以通过自定义解决方案来实现这一功能。以下是一种可能的方法:创建一个包含所有节假日日期的表,例如"HOLIDAYS"表,并将节假日日期插入其中。创建一个存储过程或函数,用
oracle怎么判断日期是否为节假日
2024-04-09

Python3判断节假日功能怎么实现

实现Python3判断节假日的功能,可以使用第三方库进行实现,例如`holidays`库。首先,需要安装`holidays`库:```pythonpip install holidays```然后,可以使用如下代码来判断一个日期是否是节假日
2023-08-17

JAVA判断当前时间是否为节假日、周末、工作日,调休日,不报错:IOException!

JAVA判断当前时间是否为节假日、周末、工作日 需求 有这么个需求,需要判断传的这个日期是否为节假日,周末,工作日,然后做剩下的操作。 话不多说,上代码 1.首先需要拿到节假日api 节假日API地址 其实这个api里有接口可以直接判断某
2023-08-17

Python3自动签到 定时任务 判断节假日的实例

以下是Python3中自动签到和定时任务的实例代码,同时判断是否为节假日:```pythonimport requestsimport scheduleimport time# 签到函数def auto_sign_in():# 实现签到逻辑
2023-08-16

java怎么获取法定节假日

Java本身没有直接获取法定节假日的功能,但可以通过调用第三方的接口或使用日历库来实现。1. 调用第三方接口:可以使用一些提供法定节假日查询的接口,如国家法定节假日数据接口、万年历API等。你需要先注册并获取API密钥,然后通过HTTP请求
2023-08-17

Win8.1在Outlook日历中没有标注节假日如何增添节假日

大家平时在使用Win8系统的日历时,都会发现没有标注节假日,毕竟微软系统是国外的,因此不会android在默认的日历中添加我们中国的节假日,这对于国内的用户来说还是挺纠结的,为此,下面这个技巧就可以让你的Outlook日历中增添中国的节假日
2023-06-07

java怎么判断redis主从节点

本文介绍了判断Redis主从节点的5种方法:使用INFO命令、连接到Redis并查询、检查配置文件、使用RedisDashboard工具、使用Redis命令行监控工具。无论使用哪种方法,定期检查以确保主从节点状态至关重要。在更改主从节点时,必须谨慎操作,以避免数据丢失或损坏。在高可用性集群中,了解每个实例的角色对于维护集群至关重要。
java怎么判断redis主从节点
2024-04-02

java判断日期是否合法

在java中,SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化,所以判断日期是否合法也是基于此。import java.text.SimpleDat
java判断日期是否合法
2020-10-04

如何使用Java获取国家法定节假日

这篇文章主要介绍了如何使用Java获取国家法定节假日,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应
2023-06-14

win10日历显示节假日操作步骤

win10系统内置日历作用,客户能通过这个工具去查询时间、阴历、节假日等信息,可是有些用户发现电脑日历默认不显示节假日,应当如何设置它才能显示出来呢?你先打开日历这个工具,随后点击页面左下方的“大量日历”,以后在打开界面中勾选“中国”,这个
2023-07-10

java判断日期是否是今天

java判断日期是不是当天:public static boolean isToday(String str, String formatStr) throws Exception{ SimpleDateFormat format = new Simpl
java判断日期是否是今天
2021-05-09

java判断日期是否是周末

java判断日期是否是周末: private boolean isWeekend(Calendar cal){ int week=cal.get(Calendar.DAY_OF_WEEK)-
java判断日期是否是周末
2021-04-15

Java判断用户输入月份的季节

要求:   * 根据用户输入的月份来判断该月季节实现代码:import java.util.Scanner;public
2023-05-31

怎样判断域名备案的真假

这篇文章主要讲解了“怎样判断域名备案的真假”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎样判断域名备案的真假”吧!1.一个备案号下面多个网站域名当心某些商家为了最大极限的谋取利益,对多个客
2023-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录