判断某一天是否是节假日

2024-09-06 05:58

本文主要是介绍判断某一天是否是节假日,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

请求url

http://www.easybots.cn/api/holiday.php?d=20160104

返回值:

工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2;

  • 检查一个日期是否为节假日 http://www.easybots.cn/api/holiday.php?d=20130101

  • 检查多个日期是否为节假日 http://www.easybots.cn/api/holiday.php?d=20130101,20130103,20130105,20130201

  • 获取2012年1月份节假日 http://www.easybots.cn/api/holiday.php?m=201201

  • 获取2013年1/2月份节假日 http://www.easybots.cn/api/holiday.php?m=201301,201302

package xiaoshuang.spark;import com.google.gson.Gson;
import org.apache.commons.lang.StringUtils;
import sun.lwawt.macosx.CPrinterDevice;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;public class APIHelper {/* 工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2;*/private static final String DATE_API = "http://www.easybots.cn/api/holiday.php";/*** 判断所给日期为什么类型,** @param date 日期 20200404* @return 0 工作日, 1 休息日, 2 节假日, -1 为判断出错*/public static int holidayType(String dateStr) {Integer result = -1;String httpArg = "d=" + dateStr;String jsonResult = request(DATE_API, httpArg);System.out.println(jsonResult);result = Integer.parseInt(jsonResult.replace("\"", "").replace("{", "").replace("}", "").split(":")[1]);return result;}public static Map<String, String> getMoreDaysType(int days) {String dateStr = "";LocalDate localDate = LocalDate.now();String pt = String.valueOf(localDate.minusDays(1)).replace("-", "");String datept0 = String.valueOf(localDate.minusDays(days)).replace("-", "");for (int i = days; i >= 1; i--) {String currdays = String.valueOf(localDate.minusDays(i)).replace("-", "");if (i == 1) {dateStr = dateStr + currdays;} else {dateStr = dateStr + currdays + ",";}}System.out.println(dateStr);String httpArg = "d=" + dateStr;String jsonResult = request(DATE_API, httpArg);System.out.println(jsonResult);Map<String, String> result = new LinkedHashMap<>();String[] arr = jsonResult.replace("\"", "").replace("{", "").replace("}", "").split(",");for (String str : arr) {String[] elem = str.split(":");result.put(elem[0], elem[1]);}return result;}/*** @param httpUrl :请求接口* @param httpArg :参数* @return 返回结果*/public static String request(String httpUrl, String httpArg) {BufferedReader reader = null;String result = null;StringBuffer sbf = new StringBuffer();httpUrl = httpUrl + "?" + 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();connection.disconnect();} catch (Exception e) {e.printStackTrace();}return result;}public static void main(String[] args) throws ParseException {
//        System.out.println(holidayType("20200404"));System.out.println(getMoreDaysType(30));}
}

 20200229,20200301,20200302,20200303,20200304,20200305,20200306,20200307,20200308,20200309,20200310,20200311,20200312,20200313,20200314,20200315,20200316,20200317,20200318,20200319,20200320,20200321,20200322,20200323,20200324,20200325,20200326,20200327,20200328,20200329


{"20200229":"1","20200301":"1","20200302":"0","20200303":"0","20200304":"0","20200305":"0","20200306":"0","20200307":"1","20200308":"1","20200309":"0","20200310":"0","20200311":"0","20200312":"0","20200313":"0","20200314":"1","20200315":"1","20200316":"0","20200317":"0","20200318":"0","20200319":"0","20200320":"0","20200321":"1","20200322":"1","20200323":"0","20200324":"0","20200325":"0","20200326":"0","20200327":"0","20200328":"1","20200329":"1"}


{20200229=1, 20200301=1, 20200302=0, 20200303=0, 20200304=0, 20200305=0, 20200306=0, 20200307=1, 20200308=1, 20200309=0, 20200310=0, 20200311=0, 20200312=0, 20200313=0, 20200314=1, 20200315=1, 20200316=0, 20200317=0, 20200318=0, 20200319=0, 20200320=0, 20200321=1, 20200322=1, 20200323=0, 20200324=0, 20200325=0, 20200326=0, 20200327=0, 20200328=1, 20200329=1}

 

 

这篇关于判断某一天是否是节假日的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141196

相关文章

poj 3259 uva 558 Wormholes(bellman最短路负权回路判断)

poj 3259: 题意:John的农场里n块地,m条路连接两块地,w个虫洞,虫洞是一条单向路,不但会把你传送到目的地,而且时间会倒退Ts。 任务是求你会不会在从某块地出发后又回来,看到了离开之前的自己。 判断树中是否存在负权回路就ok了。 bellman代码: #include<stdio.h>const int MaxN = 501;//农场数const int

zoj 1721 判断2条线段(完全)相交

给出起点,终点,与一些障碍线段。 求起点到终点的最短路。 枚举2点的距离,然后最短路。 2点可达条件:没有线段与这2点所构成的线段(完全)相交。 const double eps = 1e-8 ;double add(double x , double y){if(fabs(x+y) < eps*(fabs(x) + fabs(y))) return 0 ;return x + y ;

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

Codeforces Round #113 (Div. 2) B 判断多边形是否在凸包内

题目点击打开链接 凸多边形A, 多边形B, 判断B是否严格在A内。  注意AB有重点 。  将A,B上的点合在一起求凸包,如果凸包上的点是B的某个点,则B肯定不在A内。 或者说B上的某点在凸包的边上则也说明B不严格在A里面。 这个处理有个巧妙的方法,只需在求凸包的时候, <=  改成< 也就是说凸包一条边上的所有点都重复点都记录在凸包里面了。 另外不能去重点。 int

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

【408DS算法题】039进阶-判断图中路径是否存在

Index 题目分析实现总结 题目 对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。 分析实现 对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图) 1.图的BFS BFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程中遇到结点i就表示存在路径start->i,故只需判断每个结点i是否就是stop

linux 判断某个命令是否安装

linux 判断某个命令是否安装 if ! [ -x "$(command -v git)" ]; thenecho 'Error: git is not installed.' >&2exit 1fi

【多系统萎缩患者必看】✨维生素补充全攻略,守护你的健康每一天!

亲爱的朋友们,今天我们要聊一个既重要又容易被忽视的话题——‌多系统萎缩患者如何科学补充维生素‌!🌟 在这个快节奏的生活中,健康成为了我们最宝贵的财富,而对于多系统萎缩(MSA)的患者来说,合理的营养补充更是维护身体机能、提升生活质量的关键一步。👇 🌈 为什么多系统萎缩患者需要特别关注维生素? 多系统萎缩是一种罕见且复杂的神经系统疾病,它影响身体的多个系统,包括自主神经、锥体外系、小脑及锥

shell循环sleep while例子 条件判断

i=1# 小于5等于时候才执行while [ ${i} -le 5 ]doecho ${i}i=`expr ${i} + 1`# 休眠3秒sleep 3doneecho done 参考 http://c.biancheng.net/cpp/view/2736.html

(二)Vue.js 条件判断 20170818

条件判断 (一)v-if  使用 概念:v-if  其实说白了就是类似于java里面的判断语句,在vue.js中经常跟 template一起使用  1.jsp 代码 <template v-if="false"><label>符亮星</label><br/><label>职业爱好:编码制造方便</label></template> 设置为false时就会隐藏掉 结果图