欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

工作笔记6 - java调用接口获取工作/节假/休息日

程序员文章站 2022-05-16 12:22:09
...

由于今天在做功能时需要区分时工作日,休息日,节假日

所以写了个工具类,网上搜了下百度api已经下架了,所以找了另外一个地址,还是挺好用的

代码直接贴出来

package com.sctele.core.utils;

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.*;

/**
 * 判断工作日/周末/节假日
 */
public class HolidayUtils {

    /**
     * @param httpArg :参数
     * @return 返回结果
     */
    public static String request(String httpArg) {
        String httpUrl = "http://tool.bitefu.net/jiari/";
        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);
            }
            reader.close();
            result = sbf.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }


    public static List<Date> findDates(Date dBegin, Date dEnd) {
        List lDate = new ArrayList();
        lDate.add(dBegin);
        Calendar calBegin = Calendar.getInstance();
        // 使用给定的 Date 设置此 Calendar 的时间
        calBegin.setTime(dBegin);
        Calendar calEnd = Calendar.getInstance();
        // 使用给定的 Date 设置此 Calendar 的时间
        calEnd.setTime(dEnd);
        // 测试此日期是否在指定日期之后
        while (dEnd.after(calBegin.getTime())) {
            // 根据日历的规则,为给定的日历字段添加或减去指定的时间量
            calBegin.add(Calendar.DAY_OF_MONTH, 1);
            lDate.add(calBegin.getTime());
        }
        return lDate;
    }


//    public static void main(String[] args) {
//        //判断今天是否是工作日 周末 还是节假日
//        //0 上班 1周末 2节假日
//        SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");
//        String httpArg = f.format(new Date());
//        System.out.println(httpArg);
//        String jsonResult = request(httpArg);
//        System.out.println(jsonResult);
//    }

    public static void main(String[] args) throws Exception {
        //判断一个时间段的情况
        String start = "2018-01-01";
        String end = "2018-03-31";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        Date dBegin = sdf.parse(start);
        Date dEnd = sdf.parse(end);
        List<Date> lDate = findDates(dBegin, dEnd);
        StringBuffer dataStr = new StringBuffer();
        for (Date date : lDate) {
            //System.out.println(sdf.format(date));
            dataStr.append(dateFormat.format(date)).append(",");
        }
        String s = dataStr.substring(0,dataStr.length()-1).toString();
        String jsonResult = request(s);
        System.out.println(jsonResult);
    }

}

 

相关标签: 工具类 Utils