农历黄历 API

农历、干支、生肖、二十四节气、传统节日与每日宜忌(本地计算)

数据来源:本地计算(农历表 1900–2100 + 天文算法节气)

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

查询某天的农历、干支、节气、节日与宜忌

GET /api/lunar

请求参数

  • date:公历日期 YYYY-MM-DD,默认今天(北京时间),示例 2026-02-17

返回字段

  • date(string):公历日期,YYYY-MM-DD(月、日补足两位)
  • weekday(string):星期几,如 星期四
  • lunar(object):农历日期
  • lunar.year(number):农历年,用公历纪年数字表示,以正月初一换年(如 2026-02-16 除夕仍属 2025 年)
  • lunar.month(number):农历月份数字 1–12;闰月时为被闰的月份(如闰二月为 2),需结合 isLeap 判断
  • lunar.day(number):农历日 1–30
  • lunar.isLeap(boolean):当月是否为闰月
  • lunar.monthName(string):农历月中文名:正月、二月……十月、冬月(十一月)、腊月(十二月),闰月前加"闰"(如 闰二月)
  • lunar.dayName(string):农历日中文名:初一……初十、十一……二十、廿一……廿九、三十
  • lunar.monthDays(number):本农历月的天数:29(小月)或 30(大月)
  • lunar.text(string):完整的中文农历日期,如 二〇二六年正月初一
  • ganzhi(object):干支纪法:十天干(甲乙丙丁戊己庚辛壬癸)与十二地支(子丑寅卯辰巳午未申酉戌亥)依次相配,60 个一循环
  • ganzhi.year(string):年干支(年柱),如 丙午;以农历正月初一换年,不是以立春换年
  • ganzhi.month(string):月干支(月柱),如 庚寅;以十二"节"(立春、惊蛰、清明、立夏、芒种、小暑、立秋、白露、寒露、立冬、大雪、小寒)的交节日换月,而不是以农历初一换月
  • ganzhi.day(string):日干支(日柱),如 戊午
  • zodiac(string):生肖(鼠牛虎兔龙蛇马羊猴鸡狗猪之一),按农历年,正月初一换
  • yearName(string):年份名称:年干支 + 生肖 + 年,如 丙午马年
  • solarTerm(object):二十四节气信息(按天文算法计算太阳黄经,北京时间,交节时刻误差约 1 分钟)
  • solarTerm.today(string|null):当天交节的节气名称(如 秋分);当天不是节气时为 null
  • solarTerm.current(object):当前所处的节气,即当天或之前最近一次交节的节气
  • solarTerm.current.name(string):节气名称
  • solarTerm.current.date(string):交节日期,YYYY-MM-DD(北京时间)
  • solarTerm.current.time(string):交节时刻,YYYY-MM-DD HH:mm(北京时间 UTC+8)
  • solarTerm.next(object):下一个节气(交节日期晚于当天)
  • solarTerm.next.name(string):节气名称
  • solarTerm.next.date(string):交节日期,YYYY-MM-DD(北京时间)
  • solarTerm.next.time(string):交节时刻,YYYY-MM-DD HH:mm(北京时间 UTC+8)
  • solarTerm.next.days(number):距下一个节气还有几天
  • festivals(array):当天的节日名称(字符串数组),依次为公历节日(元旦、情人节、妇女节、植树节、愚人节、劳动节、青年节、儿童节、建党节、建军节、教师节、国庆节、平安夜、圣诞节)、农历节日(春节、元宵节、龙抬头、端午节、七夕节、中元节、中秋节、重阳节、腊八节、北方小年、南方小年、除夕;闰月不计)、清明节(清明节气当天)、母亲节(5 月第二个周日)、父亲节(6 月第三个周日)。没有节日时为空数组
  • almanac(object):黄历宜忌(按通书建除十二值的简化对照推算,仅供民俗参考)