前置准备
搭建依赖
<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
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
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
请求参数说明:
名称 | 类型 | 说明 |
---|---|---|
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
}
]
}
]
}
获取最近前后七个节日信息
-
返回格式: 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
},
...这里只显示了一条
]
}