计算中国假期的方法
来源:互联网 发布:linux 进程绑核 编辑:程序博客网 时间:2024/05/21 12:48
package util;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SerializerFeature;public class ChinaHolidayUtil {public static String requestv2(String httpArg) {String httpUrl = "http://tool.bitefu.net/jiari/";//查询假日接口返回值说明: 工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2;httpUrl = httpUrl + "?d=" + httpArg;BufferedReader reader = null;String result = null;StringBuffer sbf = new StringBuffer();try {URL url = new URL(httpUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.connect();InputStream is = connection.getInputStream();reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));String strRead = null;while ((strRead = reader.readLine()) != null) {sbf.append(strRead);sbf.append("\r\n");}reader.close();result = sbf.toString();} catch (Exception e) {e.printStackTrace();}return result.trim();}/** * @param urlAll * :请求接口 * @param httpArg * :参数 * @return 返回结果 */public static String request(String httpArg) {String httpUrl = "http://www.easybots.cn/api/holiday.php";//查询假日接口返回值说明: 工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2;BufferedReader reader = null;String result = null;StringBuffer sbf = new StringBuffer();httpUrl = httpUrl + "?d=" + httpArg;try {URL url = new URL(httpUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.connect();InputStream is = connection.getInputStream();reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));String strRead = null;while ((strRead = reader.readLine()) != null) {sbf.append(strRead);sbf.append("\r\n");}reader.close();result = sbf.toString();Map<String, Object> map = ChinaHolidayUtil.strJson2Map(result);String res = (String) map.get(httpArg);return res;} catch (Exception e) {e.printStackTrace();}return null;} private static List<Map<String, Object>> json2List(Object json) { JSONArray jsonArr = (JSONArray) json; List<Map<String, Object>> arrList = new ArrayList<Map<String, Object>>(); for (int i = 0; i < jsonArr.size(); ++i) { arrList.add(strJson2Map(jsonArr.getString(i))); } return arrList; } public static Map<String, Object> strJson2Map(String json) { JSONObject jsonObject = JSONObject.parseObject(json); Map<String, Object> resMap = new HashMap<String, Object>(); Iterator<Entry<String, Object>> it = jsonObject.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, Object> param = (Map.Entry<String, Object>) it.next(); if (param.getValue() instanceof JSONObject) { resMap.put(param.getKey(), strJson2Map(param.getValue().toString())); } else if (param.getValue() instanceof JSONArray) { resMap.put(param.getKey(), json2List(param.getValue())); } else { resMap.put(param.getKey(), JSONObject.toJSONString(param.getValue(), SerializerFeature.WriteClassName)); } } return resMap; }public static void main(String[] args) {// 判断今天是否是工作日 周末 还是节假日SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");String httpArg = f.format(new Date());System.out.println(httpArg);String jsonResult = requestv2(httpArg);System.out.println(jsonResult);for(int i=1;i<=9;i++) {httpArg = "2017100";httpArg = httpArg+i;jsonResult = request(httpArg);System.out.println(httpArg + " : " + jsonResult);}// 0 上班 1周末 2节假日}}
阅读全文
0 0
- 计算中国假期的方法
- 计算某时间段含有假期的天数
- 中国好假期旅游攻略
- 云计算的中国现实
- 中国云计算的产业链
- 云计算的“中国梦”
- 润乾报表v4-自定义函数计算两个日期之间的假期数
- 零碎的假期
- 最后假期的失落
- 假期的一点收获
- 假期的计划
- 破碎的假期
- 假期。。。。看的书
- 豆豆的假期
- 假期在家的感慨
- 草履虫的假期
- 开心的51假期
- 亲爱的假期
- sqlilabs闯关 less-1
- 续航时间超过4小时,无人机续航问题解决了?
- RocketMQ有序消息研究
- 万事俱备只欠东风 OPPO R9 Plus将开售
- 腾讯成立反诈骗联合实验室 金大志成首批智库成员
- 计算中国假期的方法
- JMeter+Ant+Jenkins
- Go 的反射包浅析
- 当全世界以为Dash Button只是愚人节玩笑,亚马逊却是认真的
- 家用智能摄像机普及,夜视版小雨点仅售99元
- “有料+有趣” 极客邦科技带你看技术社群大爆发
- OPPO R9 Plus配备4120mAh电池 彻底告别充电宝
- 长续航拍照旗舰 OPPO R9 Plus预约火热持续
- MySQL使用commit时自增ID的问题