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

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

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

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

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

/**

* 获取节假日不含周末------获取指定月份

*

* @param year 例如:2022

* @return

*/

private static Map getJjr(int year) {

String url = "http://timor.tech/api/holiday/year/"+year;

OkHttpClient client = new OkHttpClient();

Map dateMap = new HashMap<>();

List 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> holiday = (Map>) map.get("holiday");

Set strings = holiday.keySet();

for (String str : strings) {

Map 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 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 getJjr(int year, String month) {

String url = "http://timor.tech/api/holiday/year/"+year+"-"+month;

OkHttpClient client = new OkHttpClient();

Map dateMap = new HashMap<>();

List 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> holiday = (Map>) map.get("holiday");

Set strings = holiday.keySet();

for (String str : strings) {

Map 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 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 stringJSONArrayMap = getJjr(year, month1);

JSONArray jsonArray = stringJSONArrayMap.get(month1);

System.out.println(JSONObject.toJSONString(jsonArray));

}

/**

* 获取节假日不含周末

*

* @param year

* @param month

* @return

*/

private static Map getJjr(int year, String month) {

String url = "http://timor.tech/api/holiday/year/"+year+"-"+month;

OkHttpClient client = new OkHttpClient();

Map dateMap = new HashMap<>();

List 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> holiday = (Map>) map.get("holiday");

Set strings = holiday.keySet();

for (String str : strings) {

Map 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 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;

}

}

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章