600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 非常好用的节假日查询接口

非常好用的节假日查询接口

时间:2023-12-21 09:12:56

相关推荐

非常好用的节假日查询接口

概述

平时在开发的过程中经常会用到查询节假日的功能,但由于节假日是每年由国务院统一公布,我们

无法通过计算获取节假日,所以一般需要我们手动来维护节假日。

网上有很多节假日查询的接口,但查询条件和返回结果并不是太理想,

于是就自己写了个节假日查询接口并提供一个简单的页面。接口提供丰富的查询参数并且响应的字段可以自由定制。

快速开始

节假日查询的 接口地址 为:

/holiday/get

直接访问接口地址会得到当前年份当前月份的整月数据,其中包含了详细的节假日信息

节假日查询的 示例页面地址 为:

/#/holiday

在示例页面中会根据你选择的条件动态生成接口地址,然后可以直接点击浏览器中打开接口地址预览接口返回信息

参数

节假日查询接口提供了丰富的查询参数,所有参数都为可选参数,可灵活搭配使用,多个条件之间为&&的关系

参数中的日期格式均为PHP中的 日期格式

field用来指定返回结果包含的字段,多个使用英文逗号分隔 枚举year用来指定要查询的年份,格式为Y,多个使用英文逗号分隔month用来指定要查询的月份,格式为Ym,多个使用英文逗号分隔date用来指定要查询的日期,格式为Ymd,多个使用英文逗号分隔yearweek用来指定要查询一年中的第几周,格式为oW,多个使用英文逗号分隔yearday用来指定要查询一年中的第几天,格式为z,多个使用英文逗号分隔holiday用来指定要查询的节假日,99为全部节假日,多个使用英文逗号分隔 枚举holiday_overtime用来指定要查询的节假日调休(加班),99为全部调休,多个使用英文逗号分隔 枚举week用来指定要查询的星期,多个使用英文逗号分隔 枚举workday用来指定查询是否为工作日(包含调休在内需要上班的日子) 枚举weekend用来指定查询是否为周末(星期六和星期日) 枚举holiday_today用来指定查询是否为节日当天 枚举holiday_legal用来指定查询是否为法定节假日(三倍工资)枚举holiday_recess用来指定查询是否为假期节假日(节日是否放假)枚举lunar用来指定年份、月份、日期、天数参数是否查询农历日期cn用来指定返回结果是否包含中文结果,默认返回的都是数字日期和枚举数字有利于逻辑判断不利于显示page分页页码size分页每页数量

响应

节假日查询接口的枚举功能是基于 php-enum 实现的统一格式响应

节假日查询接口响应始终为JSON数据格式,如下

{"code": 0,"msg": "ok","data": ""}

code成功时始终为0,失败时为 枚举值 中的keymsg成功时始终为 ok 失败时为 枚举值 中的valuedata成功时返回数据,失败时部分返回失败数据,如表单验证失败。data.page当前页码data.size当前每页数量data.total根据查询条件查到的总数量data.list节假日列表

data.list包含了节假日的详细信息,其中的所有字段都可以通过field参数进行按需使用

默认会返回数字日期和枚举码,这非常适合用来做逻辑判断。如下

{"year": ,"month": 01,"date": 0101,"yearweek": 53,"yearday": 1,"lunar_year": ,"lunar_month": 20,"lunar_date": ,"lunar_yearday": 343,"week": 5,"weekend": 2,"workday": 2,"holiday": 22,"holiday_or": 22,"holiday_overtime": 10,"holiday_today": 1,"holiday_legal": 1,"holiday_recess": 1}

当开启了cn查询参数,会将查取的字段名加上_cn后缀返回可视化的新,并同原字段一起返回。如下

{"year": ,"month": 01,"date": 0101,"yearweek": 53,"yearday": 1,"lunar_year": ,"lunar_month": 20,"lunar_date": ,"lunar_yearday": 343,"week": 5,"weekend": 2,"workday": 2,"holiday": 22,"holiday_or": 22,"holiday_overtime": 10,"holiday_today": 1,"holiday_legal": 1,"holiday_recess": 1,"year_cn": "","month_cn": "01月","date_cn": "01月01日","yearweek_cn": "第53周","yearday_cn": "第1天","lunar_year_cn": "二零二零年","lunar_month_cn": "二零二零年冬月","lunar_date_cn": "二零二零年冬月十八","lunar_yearday_cn": "第343天","week_cn": "星期五","weekend_cn": "非周末","workday_cn": "非工作日","holiday_cn": "元旦","holiday_or_cn": "元旦","holiday_overtime_cn": "非节假日调休","holiday_today_cn": "节日当天","holiday_legal_cn": "法定节假日","holiday_recess_cn": "假期节假日"}

year公历年份month公历月份date公历日期yearweek公历一年中的第几周,注意这里的年份是ISO-8601周编号年份,始终以周一至周日为一周。如需获取7天为一周直接使用年份中的天数除7即可。yearday公历一年中的第几天lunar_year农历年份lunar_month农历月份lunar_date农历日期lunar_yearday农历一年中的第几天week星期几weekend是否为周末workday是否为工作日(包含调休在内需要上班的日子)holiday节假日,这里使用两位数字枚举表示节假日,其中特殊数字10表示非节假日,特殊数字99表示全部节假日holiday_or其他节假日,枚举与节假日相同,表示同一天中的另一个节日,如 -10-01holiday_overtime节假日调休,枚举与节假日相同holiday_today是否为节日当天holiday_legal是否为法定节假日(三倍工资)holiday_recess是否为假期节假日(节日是否放假)

节假日查询的功能到这里就介绍完了,大家在使用过程中遇到任何问题都可以 联系我

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