农历公历转换器
农历公历转换器:公历(阳历)与农历(阴历)日期一键互转,支持 1900–2100 年,自动识别闰月(如闰二月),并附带对应的干支纪年与生肖。查农历生日、传统节日的公历日期都能用。
身份证、日历上的日期就是公历。支持 1900-01-31 至 2101-01-28。
怎么用
- 选择转换方向:顶部切换「公历 → 农历」或「农历 → 公历」。日历、身份证、手机上显示的日期通常是公历(阳历);老人说的「几月初几」「腊月二十三」是农历(阴历)。
- 填写日期:公历转农历直接选一个公历日期即可;农历转公历则依次选农历年、月(正月…腊月)、日,若是闰月(如 2023 年闰二月)再勾选「这是闰月」。
- 读取结果:页面立即给出换算后的日期,并附带该农历年的干支纪年(如甲辰年)与生肖(属相)。若当年有闰月,会提示是闰几月。
原理与公式
公历(阳历)按太阳运行制定,一年约 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 天(北方小年)。