您的位置:首页 > 编程语言 > Java开发

农历查询API接口说明,农历API

2017-05-27 16:10 267 查看
农历计算,百度的计算比较准确,包括黄历禁忌计算都比较准确,而其他的一些网站,你可以对比下,基本上农历要是能准确就算不错了,一般是闰月就有问题,年头年尾也有问题。

一般是JS实现的,很少有Java版本的,我观摩了网上N多Java版本的,基本都有问题,所以下定决心,翻译了一下Javascript成Java,故得出这个接口。

现在,我们网站采用微服务的方式提供出来,响应效率高,可以达到不限制次数。关键是免费的,而且提供JSON方式返回。

接口返回的数据很全面,如:
农历
黄历
禁忌
星期
生肖
当月的节气
是否闰月
是不是大月
等,具体自己体会。

参数说明:格式为
yyyy-MM-dd
,可以不传参,默认为当天,Get请求即可。

详细描述:农历查询API

农历查询 演示

我测试一下请求当天农历查询,链接为:
http://www.sojson.com/open/api/lunar/json.shtml


返回成功状态为:
200
,失败为
500


农历查询 JSON返回方式(成功)

{
"status": 200,//成功状态
"message": "success",//成功
"data": {
"year": 2017,//当前传参公历年
"month": 2,//当前传参公历月
"day": 2,//当前传参的公历日
"lunarYear": 2017,//数字农历年
"lunarMonth": 1,//数字农历月
"lunarDay": 6,//数字农历号
"cnyear": "贰零壹柒 ",//农历中文表示年
"cnmonth": "正",//农历中文表示月
"cnday": "初六",//农历中文表示天
"hyear": "丁酉",//年
"cyclicalYear": "丙申",//甲子年
"cyclicalMonth": "辛丑",//甲子月
"cyclicalDay": "庚申",//甲子日
"suit": "纳采,订盟,祭祀,求嗣,出火,塑绘,裁衣,会亲友,入学,拆卸,扫舍,造仓,挂匾,掘井,开池,结网,栽种,纳畜,破土,修坟,立碑,安葬,入殓",//宜
"taboo": "祈福,嫁娶,造庙,安床,谢土",//禁忌
"animal": "鸡",	//生肖
"week": "星期四",//星期
"festivalList": [],//当天节日
"jieqi": {//当月节气
"4": "立春",//4日立春
"19": "雨水"//19日雨水
},
"maxDayInMonth": 29,//农历月当前月天数
"leap": false,//是否是闰月
"bigMonth": false,//是否是大月
"lunarYearString": "丁酉"//农历年
}
}

农历查询 JSON返回方式(失败)

失败情况下一般是参数问题,参数不识别,没有按规则走,格式为
yyyy-MM-dd
,如2017-02-02。

{
"status": 500,
"message": "日期格式错误,期望的格式为 yyyy-MM-dd ."
}

农历查询 JSON返回方式,指定日期

我测试一下请求当天农历查询,链接为:
http://www.sojson.com/open/api/lunar/json.shtml?date=2017-05-27
,参数可以
2017-5-27
也可以

请求成功结果,错误信息参照上面。

{
"status": 200,//成功状态
"message": "success",//成功
"data": {
"year": 2017,//当前传参公历年
"month": 5,//当前传参公历月
"day": 27,//当前传参的公历日
"lunarYear": 2017,//数字农历年
"lunarMonth": 5,//数字农历月
"lunarDay": 2,//数字农历月
"cnyear": "贰零壹柒 ",//农历中文表示年
"cnmonth": "五",//农历中文表示月
"cnday": "初二",//农历中文表示天
"hyear": "丁酉",//年
"cyclicalYear": "丁酉",//甲子年
"cyclicalMonth": "乙巳",//甲子月
"cyclicalDay": "甲寅",//甲子日
"suit": "栽种,捕捉,畋猎,馀事勿取",//宜
"taboo": "开市,动土,祭祀,斋醮,安葬,探病",//禁忌
"animal": "鸡",//生肖
"week": "星期六",//星期
"festivalList": [],//当天节日
"jieqi": {//当月节气
"5": "立夏",//5日立夏
"21": "小满"//21日小满
},
"maxDayInMonth": 29,//农历月当前月天数
"leap": false,//是否是闰月
"lunarYearString": "丁酉",//是否是大月
"bigMonth": false//农历年
}
}

接口使用申明

因为涉及到并发和有效资源问题,小型站长可以和我大个招呼,我可以提供免费使用,如果是日调用超过
2000
次,请务必和我说明,我尽量保证可用性,如果没和我说明,我会直接封掉IP段。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  api java 农历