农历查询API接口说明

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

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

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

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

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

农历查询 演示

我测试一下请求当天农历查询,链接为: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//农历年
    }
}