前置准备
搭建依赖
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.66</version>
</dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version>
</dependency>
申请第三方接口凭证
申请地址:RollToolsApi使用教程 (qq.com)
根据文章内容添加公众号注册账号后获取 app_id
和 app_srcret
,后续接口请求要携带该两个参数,如下:
http://www.mxnzp.com/api/holiday/list/month/201802?app_id=XXXX&app_secret=XXX
API接口文档
获取指定日期的节假日及万年历信息
-
接口地址: https://www.mxnzp.com/api/holiday/single/{date}
-
返回格式: JSON
-
请求方式: GET
-
请求示例: https://www.mxnzp.com/api/holiday/single/20181121?ignoreHoliday=false&app_id=XXXX&app_secret=XXX
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 日期 格式 yyyyMMdd |
ignoreHoliday | 布尔值 | 是否忽略节假日,仅仅获取万年历,默认值false |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 当前日期 |
weekDay | 整形 | 当前周第几天 1-周一 2-周二 ... 7-周日 |
yearTips | 字符串 | 天干地支纪年法描述 例如:戊戌 |
type | 整形 | 类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回 |
typeDes | 字符串 | 类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回 |
chineseZodiac | 字符串 | 属相 例如:狗 |
solarTerms | 字符串 | 节气描述 例如:小雪 |
lunarCalendar | 字符串 | 农历日期 |
suit | 字符串 | 宜事项 |
dayOfYear | 整形 | 这一年的第几天 |
weekOfYear | 整形 | 这一年的第几周 |
constellation | 字符串 | 星座 |
indexWorkDayOfMonth | 整形 | 如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回 |
返回示例:
{"code": 1,"msg": "数据返回成功","data": {"date": "2018-11-21","weekDay": 3,"yearTips": "戊戌","type": 0,"typeDes": "工作日","chineseZodiac": "狗","solarTerms": "立冬后","avoid": "嫁娶.安葬","lunarCalendar": "十月十四","suit": "破屋.坏垣.祭祀.余事勿取","dayOfYear": 325,"weekOfYear": 47,"constellation": "天蝎座","indexWorkDayOfMonth": 1}
}
获取指定多个日期的节假日及万年历信息
-
接口地址: https://www.mxnzp.com/api/holiday/multi/{dates}
-
返回格式: JSON
-
请求方式: GET
-
请求示例: https://www.mxnzp.com/api/holiday/multi/20180101,20181010,20181011?ignoreHoliday=false&app_id=XXXX&app_secret=XXX
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
dates | 字符串 | 日期组 格式 yyyyMMdd,yyyyMMdd,yyyyMMdd (中间用英文逗号隔开) |
ignoreHoliday | 布尔值 | 是否忽略节假日,仅仅获取万年历,默认值false |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 当前日期 |
weekDay | 整形 | 当前周第几天 1-周一 2-周二 ... 7-周日 |
yearTips | 字符串 | 天干地支纪年法描述 例如:戊戌 |
type | 整形 | 类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回 |
typeDes | 字符串 | 类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回 |
chineseZodiac | 字符串 | 属相 例如:狗 |
solarTerms | 字符串 | 节气描述 例如:小雪 |
lunarCalendar | 字符串 | 农历日期 |
suit | 字符串 | 宜事项 |
dayOfYear | 整形 | 这一年的第几天 |
weekOfYear | 整形 | 这一年的第几周 |
constellation | 字符串 | 星座 |
indexWorkDayOfMonth | 整形 | 如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回 |
返回示例:
{"code": 1,"msg": "数据返回成功","data": [{"date": "2018-01-01","weekDay": 1,"yearTips": "丁酉","type": 2,"chineseZodiac": "鸡","solarTerms": "冬至后","avoid": "出行.安葬.修坟.开市","lunarCalendar": "11-15","typeDes" : "元旦","suit": "祭祀.塑绘.开光.裁衣.冠笄.嫁娶.纳采.拆卸.修造.动土.竖柱.上梁.安床.移徙.入宅.安香.结网.捕捉.畋猎.伐木.进人口.放水","dayOfYear": 1,"weekOfYear": 1,"constellation": "天蝎座","indexWorkDayOfMonth": 1},{"date": "2018-10-10","weekDay": 3,"yearTips": "戊戌","type": 0,"chineseZodiac": "狗","solarTerms": "寒露后","typeDes" : "工作日","avoid": "造庙.嫁娶.掘井.栽种.造桥.作灶.动土","lunarCalendar": "9-2","suit": "祭祀.开光.出行.解除.伐木.作梁.出火.拆卸.入宅.移徙.安床.修造.造畜椆栖.扫舍","dayOfYear": 283,"weekOfYear": 41,"constellation": "天蝎座","indexWorkDayOfMonth": 1},{"date": "2018-10-11","weekDay": 4,"yearTips": "戊戌","type": 0,"typeDes" : "工作日","chineseZodiac": "狗","solarTerms": "寒露后","avoid": "入宅.上梁.斋醮.出火.谢土","lunarCalendar": "9-3","suit": "纳采.订盟.开市.交易.立券.会亲友.纳畜.牧养.问名.移徙.解除.作厕.入学.起基.安床.开仓.出货财.安葬.启攒.入殓.除服.成服","dayOfYear": 284,"weekOfYear": 41,"constellation": "天蝎座","indexWorkDayOfMonth": 1}]
}
获取指定月份的节假日及万年历信息
-
接口地址: https://www.mxnzp.com/api/holiday/list/month/{date}
-
返回格式: JSON
-
请求方式: GET
-
请求示例: https://www.mxnzp.com/api/holiday/list/month/201802?ignoreHoliday=false&app_id=XXXX&app_secret=XXX
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 查询的月份 格式 yyyyMM (只有年月) |
ignoreHoliday | 布尔值 | 是否忽略节假日,仅仅获取万年历,默认值false |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 当前日期 |
weekDay | 整形 | 当前周第几天 1-周一 2-周二 ... 7-周日 |
yearTips | 字符串 | 天干地支纪年法描述 例如:戊戌 如果ignoreHoliday参数为true,这个字段不返回 |
type | 整形 | 类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回 |
typeDes | 字符串 | 类型描述 比如 国庆,休息日,工作日 |
chineseZodiac | 字符串 | 属相 例如:狗 |
solarTerms | 字符串 | 节气描述 例如:小雪 |
lunarCalendar | 字符串 | 农历日期 |
suit | 字符串 | 宜事项 |
dayOfYear | 整形 | 这一年的第几天 |
weekOfYear | 整形 | 这一年的第几周 |
constellation | 字符串 | 星座 |
indexWorkDayOfMonth | 整形 | 如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回 |
返回示例:
{"code": 1,"msg": "数据返回成功","data": [{"date": "2018-02-01","weekDay": 4,"yearTips": "丁酉","type": 0,"chineseZodiac": "鸡","typeDes" : "工作日","solarTerms": "大寒后","avoid": "开仓.嫁娶.移徙.入宅","lunarCalendar": "12-16","suit": "祭祀.沐浴.祈福.斋醮.订盟.纳采.裁衣.拆卸.起基.竖柱.上梁.安床.入殓.除服.成服.移柩.启攒.挂匾.求嗣.出行.合帐.造畜椆栖","dayOfYear": 32,"weekOfYear": 5,"constellation": "天蝎座","indexWorkDayOfMonth": 1},...中间隐藏了"2018-02-02"~"2018-02-27"的数据{"date": "2018-02-28","weekDay": 3,"yearTips": "戊戌","type": 0,"chineseZodiac": "狗","typeDes" : "工作日","solarTerms": "雨水后","avoid": "掘井","lunarCalendar": "1-13","suit": "祭祀.斋醮.裁衣.合帐.冠笄.订盟.纳采.嫁娶.入宅.安香.谢土.入殓.移柩.破土.立碑.安香.会亲友.出行.祈福.求嗣.立碑.上梁.放水","dayOfYear": 59,"weekOfYear": 9,"constellation": "天蝎座","indexWorkDayOfMonth": 1}]
}
获取指定月份的指定类型节假日及万年历信息
-
接口地址: https://www.mxnzp.com/api/holiday/list/month/{date}/{type}
-
返回格式: JSON
-
请求方式: GET
-
请求示例: https://www.mxnzp.com/api/holiday/list/month/201810/rest?ignoreHoliday=false&app_id=XXXX&app_secret=XXX
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 查询的月份 格式 yyyyMM (只有年月) |
type | 字符串 | 需要查询的类型{可选值:类型 workday 工作日 holiday 节假日 rest 休息日 festival 节日 |
ignoreHoliday | 布尔值 | 是否忽略节假日,仅仅获取万年历,默认值false |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
month | 整形 | 当前月份 |
year | 整形 | 当前年份 |
date | 字符串 | 当前日期 |
weekDay | 整形 | 当前周第几天 1-周一 2-周二 ... 7-周日 |
yearTips | 字符串 | 天干地支纪年法描述 例如:戊戌 |
type | 整形 | 类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回 |
typeDes | 字符串 | 类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回 |
chineseZodiac | 字符串 | 属相 例如:狗 |
solarTerms | 字符串 | 节气描述 例如:小雪 |
lunarCalendar | 字符串 | 农历日期 |
suit | 字符串 | 宜事项 |
dayOfYear | 整形 | 这一年的第几天 |
weekOfYear | 整形 | 这一年的第几周 |
constellation | 字符串 | 星座 |
indexWorkDayOfMonth | 整形 | 如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回 |
返回示例:
{"code": 1,"msg": "数据返回成功","data": [{"month": 10,"year": 2018,"days": [{"date": "2018-10-13","weekDay": 6,"yearTips": "戊戌","type": 1,"typeDes": "休息日","chineseZodiac": "狗","solarTerms": "寒露后","avoid": "开市.交易.祭祀.入宅.安葬","lunarCalendar": "九月初五","suit": "捕捉.畋猎.余事勿取","dayOfYear": 286,"weekOfYear": 41,"constellation": "天蝎座","indexWorkDayOfMonth": 1},...中间隐藏了一部分的数据...{"date": "2018-10-28","weekDay": 7,"yearTips": "戊戌","type": 1,"typeDes": "休息日","chineseZodiac": "狗","solarTerms": "霜降后","avoid": "出行.祈福.安葬.作灶","lunarCalendar": "九月廿","suit": "会亲友.嫁娶.订盟.纳采.纳婿.拆卸.修造.动土.起基.竖柱.上梁.安床.会亲友.纳财","dayOfYear": 301,"weekOfYear": 43,"constellation": "天蝎座","indexWorkDayOfMonth": 1}]}]
}
获取指定年份的节假日及万年历信息
-
接口地址: https://www.mxnzp.com/api/holiday/list/year/{date}
-
返回格式: JSON
-
请求方式: GET
-
请求示例: https://www.mxnzp.com/api/holiday/list/year/2018?ignoreHoliday=false&app_id=XXXX&app_secret=XXX
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 查询的年份 格式 yyyy (只有年份) |
ignoreHoliday | 布尔值 | 是否忽略节假日,仅仅获取万年历,默认值false |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
month | 整形 | 当前月份 |
year | 整形 | 当前年份 |
date | 字符串 | 当前日期 |
weekDay | 整形 | 当前周第几天 1-周一 2-周二 ... 7-周日 |
yearTips | 字符串 | 天干地支纪年法描述 例如:戊戌 |
type | 整形 | 类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回 |
typeDes | 字符串 | 类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回 |
chineseZodiac | 字符串 | 属相 例如:狗 |
solarTerms | 字符串 | 节气描述 例如:小雪 |
lunarCalendar | 字符串 | 农历日期 |
suit | 字符串 | 宜事项 |
dayOfYear | 整形 | 这一年的第几天 |
weekOfYear | 整形 | 这一年的第几周 |
constellation | 字符串 | 星座 |
indexWorkDayOfMonth | 整形 | 如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回 |
返回示例:
{"code": 1,"msg": "数据返回成功","data": [{"month": 1,"year": 2018,"days": [{"date": "2018-01-01","weekDay": 1,"yearTips": "丁酉","type": 2,"chineseZodiac": "鸡","solarTerms": "冬至后","typeDes" : "元旦","avoid": "出行.安葬.修坟.开市","lunarCalendar": "11-15","suit": "祭祀.塑绘.开光.裁衣.冠笄.嫁娶.纳采.拆卸.修造.动土.竖柱.上梁.安床.移徙.入宅.安香.结网.捕捉.畋猎.伐木.进人口.放水","dayOfYear": 1,"weekOfYear": 1,"constellation": "天蝎座","indexWorkDayOfMonth": 1},...中间隐藏了"2018-01-02"~"2018-01-30"的数据{"date": "2018-01-31","weekDay": 3,"yearTips": "丁酉","type": 0,"chineseZodiac": "鸡","typeDes" : "工作日","solarTerms": "大寒后","avoid": "嫁娶.入殓.安葬.出行","lunarCalendar": "12-15","suit": "塑绘.开光.沐浴.冠笄.会亲友.作灶.放水.造畜椆栖","dayOfYear": 31,"weekOfYear": 5,"constellation": "天蝎座","indexWorkDayOfMonth": 1}]},...中间隐藏了02月到11月的数据{"month": 12,"days": [{"date": "2018-12-01","weekDay": 6,"yearTips": "戊戌","type": 1,"chineseZodiac": "狗","typeDes" : "休息日","solarTerms": "小雪后","avoid": "作灶.治病","lunarCalendar": "10-24","suit": "祭祀.祈福.订盟.纳采.裁衣.拆卸.修造.动土.起基.安床.移徙.入宅.安香.入殓.移柩.安葬.谢土.赴任.进人口.会亲友","dayOfYear": 335,"weekOfYear": 48,"constellation": "天蝎座","indexWorkDayOfMonth": 1},...中间隐藏了"2018-12-02"~"2018-12-30"的数据{"date": "2018-12-31","weekDay": 1,"yearTips": "戊戌","type": 0,"chineseZodiac": "狗","solarTerms": "冬至后","avoid": "开市.破土","lunarCalendar": "10-25","suit": "祭祀.沐浴.安床.纳财.畋猎.捕捉","dayOfYear": 365,"weekOfYear": 1,"constellation": "天蝎座","indexWorkDayOfMonth": 1}]}]
}
获取指定年份的指定类型节假日及万年历信息
-
接口地址: https://www.mxnzp.com/api/holiday/list/year/{date}/{type}
-
返回格式: JSON
-
请求方式: GET
-
请求示例: https://www.mxnzp.com/api/holiday/list/year/2018/rest?ignoreHoliday=false&app_id=XXXX&app_secret=XXX
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 查询的月份 格式 yyyy (只有年份) |
type | 字符串 | 需要查询的类型{可选值:类型 workday 工作日 holiday 节假日 rest 休息日 festival 节日 |
ignoreHoliday | 布尔值 | 是否忽略节假日,仅仅获取万年历,默认值false |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
month | 整形 | 当前月份 |
year | 整形 | 当前年份 |
date | 字符串 | 当前日期 |
weekDay | 整形 | 当前周第几天 1-周一 2-周二 ... 7-周日 |
yearTips | 字符串 | 天干地支纪年法描述 例如:戊戌 |
type | 整形 | 类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回 |
typeDes | 字符串 | 类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回 |
chineseZodiac | 字符串 | 属相 例如:狗 |
solarTerms | 字符串 | 节气描述 例如:小雪 |
lunarCalendar | 字符串 | 农历日期 |
suit | 字符串 | 宜事项 |
dayOfYear | 整形 | 这一年的第几天 |
weekOfYear | 整形 | 这一年的第几周 |
constellation | 字符串 | 星座 |
indexWorkDayOfMonth | 整形 | 如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回 |
返回示例:
{"code": 1,"msg": "数据返回成功,域名已经成功备案,为了更优雅的调用,不久后将废弃8091端口,请尽快使用新域名直接调用,多有不便敬请谅解","data": [{"month": 1,"year": 2018,"days": [{"date": "2018-01-06","weekDay": 6,"yearTips": "丁酉","type": 1,"typeDes": "休息日","chineseZodiac": "鸡","solarTerms": "小寒后","avoid": "嫁娶.开市.入宅.安床.破土.安葬","lunarCalendar": "冬月廿","suit": "祭祀.斋醮.纳财.捕捉.畋猎","dayOfYear": 6,"weekOfYear": 1,"constellation": "天蝎座","indexWorkDayOfMonth": 1},...中间还有一些数据没有显示...{"date": "2018-01-28","weekDay": 7,"yearTips": "丁酉","type": 1,"typeDes": "休息日","chineseZodiac": "鸡","solarTerms": "大寒后","avoid": "祈福.嫁娶.造庙.安床.谢土","lunarCalendar": "腊月十二","suit": "纳采.订盟.祭祀.求嗣.出火.塑绘.裁衣.会亲友.入学.拆卸.扫舍.造仓.挂匾.掘井.开池.结网.栽种.纳畜.破土.修坟.立碑.安葬.入殓","dayOfYear": 28,"weekOfYear": 4,"constellation": "天蝎座","indexWorkDayOfMonth": 1}]},...中间有2月到11月的数据没有展示...{"month": 12,"year": 2018,"days": [{"date": "2018-12-01","weekDay": 6,"yearTips": "戊戌","type": 1,"typeDes": "休息日","chineseZodiac": "狗","solarTerms": "小雪后","avoid": "作灶.治病","lunarCalendar": "十月廿四","suit": "祭祀.祈福.订盟.纳采.裁衣.拆卸.修造.动土.起基.安床.移徙.入宅.安香.入殓.移柩.安葬.谢土.赴任.进人口.会亲友","dayOfYear": 335,"weekOfYear": 48,"constellation": "天蝎座","indexWorkDayOfMonth": 1},...中间还有一些数据没有显示...{"date": "2018-12-30","weekDay": 7,"yearTips": "戊戌","type": 1,"typeDes": "元旦","chineseZodiac": "狗","solarTerms": "冬至后","avoid": null,"lunarCalendar": "冬月廿四","suit": "塑绘.斋醮.出行.拆卸.解除.修造.移徙.造船.入殓.除服.成服.移柩.启攒.修坟.立碑.谢土","dayOfYear": 364,"weekOfYear": 52,"constellation": "天蝎座","indexWorkDayOfMonth": 1}]}]
}
获取最近前后七个节日信息
-
接口地址: https://www.mxnzp.com/api/holiday/recent/list
-
返回格式: JSON
-
请求方式: GET
-
请求示例: https://www.mxnzp.com/api/holiday/recent/list?app_id=XXXX&app_secret=XXX
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
无 | 无 | 无 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
date | 字符串 | 节日日期 |
lunarDate | 字符串 | 节日农历日期 |
holidayName | 字符串 | 节日名称 |
residueDays | 整形 | 距离今日的天数,已经过的节日为负数 |
lunarHoliday | 布尔值 | 是否是农历节日 |
返回示例:
{"code": 1,"msg": "数据返回成功","data": [{"date": "2019年07月07日","lunarDate": "2019年06月05日","holidayName": "国际合作节","residueDays": -34,"lunarHoliday": false},...这里只显示了一条]
}