判断指定日期是工作日/节假日
程序员文章站
2022-03-03 10:03:35
...
使用接口:http://timor.tech/api/holiday/info/2020-01-01
java代码如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
/**
* author ...
* date 2019-12-02
*/
public class HolidayUtil {
public static void main(String[] args) {
String check = HolidayUtil.check("2019-10-8");
System.out.println(check);
}
/**
* 请求接口
* @param dateStr 判断的日期
* @return 返回结果
*/
public static String request( String dateStr){
String httpUrl="http://timor.tech/api/holiday/info/" + dateStr;
BufferedReader reader = null;
StringBuilder result = new StringBuilder();
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, StandardCharsets.UTF_8));
String strRead;
while ((strRead = reader.readLine()) != null) {
result.append(strRead);
result.append("\r\n");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(reader != null)
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("####请求结果:"+result);
return result.toString();
}
/**
* dateStr yyyy-MM-dd
* @param dateStr
* @return
*/
public static String check(String dateStr) {
String result;
String jsonResult = request(dateStr);
JSONObject jsonObject = JSONObject.parseObject(jsonResult);
Object holiday = jsonObject.get("holiday");
if(holiday == null) {
result = "非节假日";
} else {
JSONObject ho = (JSONObject)holiday;
if(!ho.get("name").toString().contains("调休")) {
result = ho.get("name").toString();
} else {
result = "非节假日";
}
}
return result;
}
}