农历公历转换器

农历公历转换器:公历(阳历)与农历(阴历)日期一键互转,支持 1900–2100 年,自动识别闰月(如闰二月),并附带对应的干支纪年与生肖。查农历生日、传统节日的公历日期都能用。

身份证、日历上的日期就是公历。支持 1900-01-312101-01-28

选择一个公历日期,自动换算出对应的农历(阴历)日期、生肖与干支。

怎么用

  1. 选择转换方向顶部切换「公历 → 农历」或「农历 → 公历」。日历、身份证、手机上显示的日期通常是公历(阳历);老人说的「几月初几」「腊月二十三」是农历(阴历)。
  2. 填写日期公历转农历直接选一个公历日期即可;农历转公历则依次选农历年、月(正月…腊月)、日,若是闰月(如 2023 年闰二月)再勾选「这是闰月」。
  3. 读取结果页面立即给出换算后的日期,并附带该农历年的干支纪年(如甲辰年)与生肖(属相)。若当年有闰月,会提示是闰几月。

原理与公式

公历(阳历)按太阳运行制定,一年约 365 天;农历(阴历)按月亮的朔望月定月,每月 29 或 30 天, 12 个月约 354 天,比太阳年少约 11 天。为协调两者,农历采用「19 年 7 闰」规则,在部分年份插入一个闰月(如闰二月),使该年有 13 个月、约 384 天。

两套历法没有简单公式可直接互换,需要逐年逐月的历法数据。本工具以1900-01-31(农历庚子年正月初一)为基准,依据 1900–2100 年公认的农历润大小信息表,累加每个农历年、每个农历月的天数, 定位任意一天的农历年/月/日(含闰月判定),反向则把农历日期累加成距基准日的天数再换回公历。

换算示例

公历 2024-02-10 → 农历 甲辰年正月初一(即 2024 年春节);
公历 2024-06-10 → 农历 五月初五(端午节);
农历 2023 年闰二月初一 → 公历 2023-03-22, 而 2023 年(正常)二月初一 → 公历 2023-02-20, 两者相差正好一个闰月。

关于 2100 年边界:农历年与公历年并不对齐,农历 2100 年的腊月会跨入公历 2101 年初。 例如农历 2100 年腊月初一 → 公历 2100-12-31,而2100 年腊月初二 → 公历 2101-01-01,本表覆盖到农历 2100 年的最后一天腊月廿九(公历 2101-01-28)为止——并非农历 2100 全年都落在公历 2100 内。

干支纪年与生肖按农历年推算:天干 =(农历年 − 4)模 10地支/生肖 =(农历年 − 4)模 12,例如农历 2024 年为甲辰年、生肖龙。

常见问题

农历、阴历、阳历、公历,到底哪个是哪个?
「公历」就是「阳历」,是国际通用、按太阳运行制定的日历(如 2024 年 2 月 10 日),手机、身份证、日历主显示的都是它。「农历」就是俗称的「阴历」「旧历」,是中国传统历法,按月亮的朔望月定月、用闰月协调回归年,老人说的「正月初一」「八月十五」「腊月二十三」都是农历。本工具就是在这两套日期之间互相换算。严格说农历是「阴阳合历」,但日常把它叫阴历也没问题。
为什么会有「闰月」?闰二月、闰六月是怎么回事?
农历一个月是一个朔望月(约 29.53 天),12 个月只有约 354 天,比太阳年(约 365 天)少 11 天左右。为了不让春节越过越早、最终错季,农历用「19 年 7 闰」的规则,在某些年份额外加一个月,这个多出来的月份就叫闰月,跟在同名的正常月份后面,如「闰二月」紧接在「二月」之后。有闰月的农历年共有 13 个月、约 384 天。例如 2023 年(癸卯年)就有闰二月:2023 年农历二月之后还有一个闰二月。本工具会自动识别闰月并在结果中标出。
我身份证是公历生日,想知道农历生日怎么查?
用「公历 → 农历」方向,选你身份证上的公历出生日期,结果里的农历月日就是你的农历生日(如「八月十五」)。反过来,如果家里老人只记得你的农历生日,用「农历 → 公历」方向,把农历年月日填进去(闰月记得勾选),就能算出每年对应的公历日期,方便过生日。注意:同一个农历生日,每年对应的公历日期都不一样。
为什么有的年份同一个农历日期能对应两个公历日期?
这正是闰月造成的。比如 2023 年有闰二月,于是「二月初一」和「闰二月初一」是两个不同的日子,分别对应 2023-02-20 和 2023-03-22。所以在「农历 → 公历」里,如果你要换算的是闰月里的日期,一定要勾选「这是闰月」,否则算出来的是正常月份那一天。只有当年确实存在该闰月时,勾选才有效,否则工具会提示该年没有这个闰月。
这个转换器支持的年份范围是多少?准不准?
支持农历 1900–2100 年,对应公历 1900-01-31 至 2101-01-28(农历 2100 年腊月跨入公历 2101 年初,故上界落在 2101-01-28,即农历 2100 年的最后一天),覆盖绝大多数查生日、查节日的需求。换算依据是香港天文台(HKO)口径的公认农历数据表(被 solarlunar、lunar-javascript 等主流开源库广泛采用):其中 1901–2100 年可逐年与 HKO 官方「公曆與農曆對照表」对照,1900 年为内部基准/开源表数据(用作 1900-01-31 基准日,HKO 官方表不含 1900)。结果与日历上印的农历、春节日期一致——例如 2024 年春节 2 月 10 日为甲辰年正月初一、端午 6 月 10 日为五月初五、中秋 9 月 17 日为八月十五,均与本工具一致;我们还用 1900–2100 全部年份的春节日期逐一交叉核对。需提醒:农历由真实天文(朔望月/节气)决定,远期个别年份(如 2057、2089、2097 等)若新月或节气贴近午夜,不同机构的表可能有一日差,远期结果不作绝对天文精度保证。
农历日期里的「初一、十五、廿三」是什么意思?
这是农历对一个月内日子的传统叫法:1–10 日叫「初一」到「初十」,11–19 日叫「十一」到「十九」,20 日叫「二十」、21–29 日叫「廿一」到「廿九」,30 日叫「三十」。农历每月最多 30 天(大月 30、小月 29),没有 31 日。所以「八月十五」就是农历八月的第 15 天(中秋),「腊月廿三」就是农历十二月第 23 天(北方小年)。

来源与更新

计算口径与数据来源(更新于 2026-06-22):

  • 农历数据采用香港天文台(HKO)口径的 1900–2100 年农历润大小信息表, 被 solarlunar、lunar-javascript 等主流开源历法库广泛采用;基准日为 1900-01-31(庚子年正月初一)。可逐年核对的官方来源:香港天文台「公曆與農曆對照表」(另有文字版索引)。
  • 可核范围说明:HKO 官方对照表逐年覆盖 1901–2100 年;本工具的1900 年行为内部基准/开源表数据(HKO 官方表不含 1900,仅用作 1900-01-31 基准日)。可换算范围:农历 1900–2100 年,对应公历 1900-01-31 至 2101-01-28 (农历 2100 年腊月跨入公历 2101 年初)。结果已与公认节气节日(2024 春节 2-10、 端午 6-10、中秋 9-17 等)及 1900–2100 全部年份春节日期逐一交叉核对。
  • 远期天文边界:农历由真实朔望月/二十四节气(天文)决定,远期个别年份 (如 2057、2089、2097 等)若新月或节气贴近午夜,不同机构的逐年表可能存在 一日差,远期结果不作绝对天文精度保证,请以届时官方颁历为准。
  • 农历为阴阳合历,含闰月规则(19 年 7 闰);本工具自动识别并标注闰月。 干支与生肖按农历年通用口径推算,仅供历法查询与传统民俗参考。
  • 如需按生肖判定属相/本命年、或计算年龄、虚岁,请使用本站对应工具。

官方抽样核对表(与 HKO 对照表逐项一致,便于复核):

公历农历说明
2024-02-10甲辰年正月初一2024 年春节
2024-06-10五月初五端午节
2024-09-17八月十五中秋节
2023-02-20二月初一2023 年(正常)二月
2023-03-22闰二月初一2023 年闰二月(多出的一个月)
2101-01-282100 年腊月廿九数据表覆盖上界(农历 2100 末日)

最近更新:2026-06-22

本工具按公认农历数据表(HKO 口径)做历法换算,覆盖农历 1900–2100 年(对应公历 1900-01-31 至 2101-01-28);其中 1901–2100 可逐年与 HKO 官方对照表核对,1900 年为内部基准/开源表数据。结果与日常日历一致,供查询参考;农历由真实天文决定,远期个别年份可能存在一日差,不作绝对天文精度保证。