Java获取国家节假日规定休息日期

  • 获取的数据内容是:按月份分开

  • 方法类—获取指定《年份》整年法定休息日

    /*** 获取节假日不含周末------获取指定月份** @param year  例如:2022* @return*/private static Map<String, JSONArray> getJjr(int year) {String url = "http://timor.tech/api/holiday/year/"+year;OkHttpClient client = new OkHttpClient();Map<String, String> dateMap = new HashMap<>();List<JSONObject> list = new ArrayList();JSONObject jsonObject ;Response response;//解密数据String rsa = null;Request request = new Request.Builder().url(url).get().addHeader("Content-Type", "application/x-www-form-urlencoded").build();try {response = client.newCall(request).execute();rsa = response.body().string();Map map = JSONObject.parseObject(rsa, Map.class);Map<String, Map<String, Object>> holiday = (Map<String, Map<String, Object>>) map.get("holiday");Set<String> strings = holiday.keySet();for (String str : strings) {Map<String, Object> stringObjectMap = holiday.get(str);boolean bool = (Boolean) stringObjectMap.get("holiday");//筛选掉补班if (bool) {jsonObject = new JSONObject();String substring = str.substring(0, 2);jsonObject.put(substring, stringObjectMap);list.add(jsonObject);}}Map<String, JSONArray> jsonArrayMap =  new HashMap<>();for (int i = 1; i < 13; i++) {JSONArray jsonArray = new JSONArray();String keyMap = null;for (JSONObject object : list) {if (i < 10 && object.containsKey("0"+i)){keyMap = "0" + i;jsonArray.add(object.get("0"+i));}else if (i >= 10 && object.containsKey("1"+i)){jsonArray.add(object.get("1"+i));keyMap = "1" + i;}}jsonArrayMap.put(keyMap, jsonArray);}return jsonArrayMap;} catch (IOException e) {e.printStackTrace();}return null;}
  • 方法类—获取指定《月份》
    /*** 获取节假日不含周末------获取指定月份** @param year  例如:2022* @param month  例如:04  小于10的要有 0* @return*/private static Map<String, JSONArray> getJjr(int year, String month) {String url = "http://timor.tech/api/holiday/year/"+year+"-"+month;OkHttpClient client = new OkHttpClient();Map<String, String> dateMap = new HashMap<>();List<JSONObject> list = new ArrayList();JSONObject jsonObject ;Response response;//解密数据String rsa = null;Request request = new Request.Builder().url(url).get().addHeader("Content-Type", "application/x-www-form-urlencoded").build();try {response = client.newCall(request).execute();rsa = response.body().string();Map map = JSONObject.parseObject(rsa, Map.class);Map<String, Map<String, Object>> holiday = (Map<String, Map<String, Object>>) map.get("holiday");Set<String> strings = holiday.keySet();for (String str : strings) {Map<String, Object> stringObjectMap = holiday.get(str);boolean bool = (Boolean) stringObjectMap.get("holiday");//筛选掉补班if (bool) {jsonObject = new JSONObject();String substring = str.substring(0, 2);jsonObject.put(substring, stringObjectMap);list.add(jsonObject);}}Map<String, JSONArray> jsonArrayMap =  new HashMap<>();for (int i = 1; i < 13; i++) {JSONArray jsonArray = new JSONArray();String keyMap = null;for (JSONObject object : list) {if (i < 10 && object.containsKey("0"+i)){keyMap = "0" + i;jsonArray.add(object.get("0"+i));}else if (i >= 10 && object.containsKey("1"+i)){jsonArray.add(object.get("1"+i));keyMap = "1" + i;}}jsonArrayMap.put(keyMap, jsonArray);}return jsonArrayMap;} catch (IOException e) {e.printStackTrace();}return null;}

示例 执行 Main方法


public class Test {public static void main(String[] args) throws Exception {Calendar cal = Calendar.getInstance();int month = cal.get(Calendar.MONTH) + 1;int year = cal.get(Calendar.YEAR);System.out.println(year);System.out.println(month);String month1 = month > 10 ? String.valueOf(month) : "0" + month;Map<String, JSONArray> stringJSONArrayMap = getJjr(year, month1);JSONArray jsonArray = stringJSONArrayMap.get(month1);System.out.println(JSONObject.toJSONString(jsonArray));}/*** 获取节假日不含周末** @param year* @param month* @return*/private static Map<String, JSONArray> getJjr(int year, String month) {String url = "http://timor.tech/api/holiday/year/"+year+"-"+month;OkHttpClient client = new OkHttpClient();Map<String, String> dateMap = new HashMap<>();List<JSONObject> list = new ArrayList();JSONObject jsonObject ;Response response;//解密数据String rsa = null;Request request = new Request.Builder().url(url).get().addHeader("Content-Type", "application/x-www-form-urlencoded").build();try {response = client.newCall(request).execute();rsa = response.body().string();Map map = JSONObject.parseObject(rsa, Map.class);Map<String, Map<String, Object>> holiday = (Map<String, Map<String, Object>>) map.get("holiday");Set<String> strings = holiday.keySet();for (String str : strings) {Map<String, Object> stringObjectMap = holiday.get(str);boolean bool = (Boolean) stringObjectMap.get("holiday");//筛选掉补班if (bool) {jsonObject = new JSONObject();String substring = str.substring(0, 2);jsonObject.put(substring, stringObjectMap);list.add(jsonObject);}}Map<String, JSONArray> jsonArrayMap =  new HashMap<>();for (int i = 1; i < 13; i++) {JSONArray jsonArray = new JSONArray();String keyMap = null;for (JSONObject object : list) {if (i < 10 && object.containsKey("0"+i)){keyMap = "0" + i;jsonArray.add(object.get("0"+i));}else if (i >= 10 && object.containsKey("1"+i)){jsonArray.add(object.get("1"+i));keyMap = "1" + i;}}jsonArrayMap.put(keyMap, jsonArray);}return jsonArrayMap;} catch (IOException e) {e.printStackTrace();}return null;}}

Java获取国家节假日规定休息日期相关推荐

  1. java获取国家法定节假日和周末

    java获取国家法定节假日和周末 package com.lxh.config.utils;import com.alibaba.fastjson.JSONObject; import okhttp3 ...

  2. java获取国家法定节假日(不依赖API)

    java获取国家法定节假日, 由此可获取每月第一个工作日和最后一个工作日 (不依赖API,主要是因为API接口不可靠或计费,此工具依赖国务院发布的节假日基础信息进行解析) 本工具仅供参考学习.各类数据 ...

  3. 【现成工具】java获取国家法定节假日包含指定月份节假日和周末

    首先感谢大佬提供的免费API接口调用,http://timor.tech/api/holiday .该API工具类可以获取到国家法定节假日,此节假日为严格按照国家要求的双休和法定节假日并且包含节假日的 ...

  4. 【Java获取国家法定节假日三种工具类其三】

    使用GitHub开源Api调用获取国家法定节假日 public class HolidayUtils {/*** 请求第三方接口的方法** @param url 请求的url* @return*/pu ...

  5. Java 获取 URL响应头的日期信息

    我们用 HttpURLConnection 的 httpCon.getDate() 方法来获取 URL响应头的日期信息 代码如下 import java.net.HttpURLConnection; ...

  6. [Java] 获取本月周次和日期时间段信息

    package com.wdcloud.monitoring.common;import java.text.SimpleDateFormat; import java.util.ArrayList; ...

  7. Java获取视频的时长——日期时间处理

    Problem: 如何通过Java获取视频的时长? 想通过Java来获取某文件夹(或多个文件夹)下的视频的总时长 经过查询资料,发现可以通过JAVE实现:The JAVE (Java Audio Vi ...

  8. java获取下周一_Java 根据查询日期,获取下周一、周日的日期

    根据查询日期,获取下周一.周日的日期 private Map getNextWeek(String queryDate) throws ParseException{ Map dateMap = ne ...

  9. java 获取周次_[Java] 获取本月周次和日期时间段信息

    packagecom.wdcloud.monitoring.common;importjava.text.SimpleDateFormat;importjava.util.ArrayList;impo ...

  10. 【Java获取国家法定节假日三种工具类其一】

    最全的时间工具类 开箱即用 public abstract class MyDateUtil {/*** 时区误差*/private static long timeZoneError = 0;/** ...

最新文章

  1. LINUX samba的安装使用
  2. 多媒体广告的底线在哪里
  3. nefu 628 Garden visiting
  4. 解题报告 『生活大爆炸版石头剪刀布(模拟)』
  5. scala函数定义示例
  6. sgi 之heap, priority_queue
  7. python语言能做什么游戏好玩_太好玩了我用 Python 制作一款小游戏
  8. sublime多行变一行及sublime一键格式化html/css/js、光标快捷键移动行首行尾、删除空行
  9. ORACLE的SQL练习---7. 拼接字符串
  10. php时间戳转换英文格式日期_php把时间戳转换成英文格式
  11. 128G的U盘格式化后只有300M,如何恢复成128G
  12. HTML编程(网页的基本标签)
  13. 爬取图片,并按比例划分数据集
  14. 苹果在高端手机市场碾压安卓手机,国产旗舰不入前十
  15. html上外边距是,margin-top css设置对象上外边距间距(上外补白)
  16. 在线查看.doc,.docx,.ofd,.PDF,.WPS以及Office文档的在线解析方式。
  17. 图像滤镜艺术---人脸编辑(五官微调+瘦脸美型)
  18. 基于Python实现的酒店住房管理系统
  19. 【实用】windows常用软件及下载地址
  20. 标准的公共智能运输系统结构图

热门文章

  1. 【Unity3D】摇杆
  2. c语言输入1显示你好,你好,求指教!该怎么用C语言的scanf实现一次输入若干个数据...
  3. linux wgei目录,近 100 个 Linux 常用命令大全
  4. 华硕主板装系统蓝屏_华硕主板装系统蓝屏怎样设置bios?
  5. 【解决】Yandex浏览器Bing搜索遭遇trovi.com劫持
  6. 【数据分析】京东订单数据分析思路及Python代码
  7. Tp5开启cookie和session安全传输secure和httponly
  8. Windows下安装 Apache 步骤
  9. 快速删除excel中的空行
  10. JAVA实现成绩统计之及格率和优秀率