200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 获取国家法定节假日和周末

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

时间:2023-03-15 02:42:56

相关推荐

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

话不多说,直接上代码

需要引入的pom文件

<!--fastjson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.11</version></dependency>

获取国家法定节假日代码

package com.example.datetest.config;import cn.hutool.http.HttpUtil;import com.alibaba.fastjson.JSONObject;import java.text.SimpleDateFormat;import java.util.*;public class HolidayUtils {/*** java获取国家法定节假日和周末* @param year /* @param month /* @return /*/public static Set<String> JJR(int year, int month) {//获取所有的周末Set<String> monthWekDay = getMonthWekDay(year, month);//http://timor.tech/api/holiday api文档地址JSONObject jjr = getJjr(year, month);Integer code = jjr.getInteger("code");if (code != 0) {return monthWekDay;}Map<String, Map<String, Object>> holiday = (Map<String, Map<String, Object>>) jjr.get("holiday");Set<String> strings = holiday.keySet();for (String str : strings) {Map<String, Object> stringObjectMap = holiday.get(str);Integer wage = (Integer) stringObjectMap.get("wage");String date = (String) stringObjectMap.get("date");//筛选掉补班if (wage.equals(1)) {monthWekDay.remove(date);} else {monthWekDay.add(date);}}return monthWekDay;}/*** 获取节假日不含周末* @param year /* @param month /* @return /*/private static JSONObject getJjr(int year, int month) {String url = "http://timor.tech/api/holiday/year/"+year+"-"+month;String result = HttpUtil.get(url);JSONObject jsonObject = JSONObject.parseObject(result);return jsonObject;}/*** 获取周末 月从0开始* @param year /* @param month /* @return /*/public static Set<String> getMonthWekDay(int year, int month) {month = month - 1 ;Set<String> dateList = new HashSet<>();SimpleDateFormat simdf = new SimpleDateFormat("yyyy-MM-dd");Calendar calendar = new GregorianCalendar(year, month, 1);Calendar endCalendar = new GregorianCalendar(year, month, 1);endCalendar.add(Calendar.MONTH, 1);while (true) {int weekday = calendar.get(Calendar.DAY_OF_WEEK);if (weekday == 1 || weekday == 7) {dateList.add(simdf.format(calendar.getTime()));}calendar.add(Calendar.DATE, 1);if (calendar.getTimeInMillis() >= endCalendar.getTimeInMillis()) {break;}}return dateList;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。