跳到正文

阴阳历换算

把公历日期换算成农历,或反过来换算,同时给出日干支、年干支和节气。农历年有闰月时,由你选择闰月还是同名的非闰月。第三种模式可计算两个日期之间相隔几天。

历法与天文可推算,可核对。

出处与依据

采用胡玉德(Hồ Ngọc Đức)的越南农历算法,朔日与太阳黄经公式取自 Jean Meeus,按越南时间(UTC+7)推算。含合朔时刻之日为初一;闰月为第一个不含中气之月。

核对依据NASA:2,474 个朔,1901 至 2100 年;IMCCE:4,824 个节气时刻,1900 至 2100 年;USNO:804 个二分二至,1900 至 2100 年。

典故与古诗

“居尘乐道且随缘,饥则餐兮困则眠。”

陈仁宗 · 《居尘乐道赋》

接着看

越南农历查询

想看整月农历及干支、节庆?农历月历一次列出整个月。

打开 越南农历查询

各家历法的分歧

历法时区

本站采用所有年份均按 UTC+7(河内时间)计算,包括越南历书仍按 UTC+8 编印的年份;本站不按年份或地区更换时区。因此 1950 至 2050 年间,本站的春节在 1965、1968、1969、1985、2007、2030 年与中国春节(UTC+8)不同。
另一种做法越南历书在北方至 1967 年 8 月 8 日、在南方至 1975 年仍按北京时间 UTC+8 编算。按当时历书,1965 年春节为 2 月 2 日(本站为 2 月 1 日);1968 年春节北方为 1 月 29 日,南方为 1 月 30 日;1969 年南方春节为 2 月 17 日(本站为 2 月 16 日)。查 1975 年前南方的日期,请另对照 UTC+8 历书。
另外 2 项约定

闰月

本站采用两个十一月(含冬至之月)之间若有十三次合朔,则第一个不含中气的月份为闰月,沿用前一月的月序。中气按 UTC+7 判定。按此规则以 NASA 合朔时刻及 IMCCE 中气重建农历对照:1901 至 2100 年 2,461 个农历月中 2,459 个一致,73 个闰月全部一致;其余两个月始于 2072 年 12 月 9 日和 2085 年 10 月 19 日,合朔落在午夜前后一分钟以内,本站初一相差一天。紫微斗数按月序安星,闰月按同序的正月处理。
另一种做法中国农历在 UTC+8 下用同一规则,故闰月或初一可能与越南农历不同:中国 1984 年闰十月,越南则 1985 年闰二月;2031 年闰三月在越南早一天开始。紫微斗数有派别将闰月一分为二:初一至十五按上月,十六起按下月。

节气时刻如何计算

本站采用太阳视黄经采用 Jean Meeus 简化公式,含光行差、章动与 ΔT;交节时刻以二分法求至一分钟以内,按越南时间。与巴黎天文台 IMCCE 的 INPOP 星历 1900 至 2100 年共 4,824 个时刻及美国海军天文台二分二至时刻对照:平均早 3 分钟,最大差 14 分钟。交节日期 4,824 个中 4,814 个一致,其余 10 个均在午夜前后 15 分钟以内。
另一种做法天文台采用完整星历,精确到秒。中国历法按 UTC+8,越南时间 23 时至 24 时交节者,在中国历上属次日。

尚无人证实之处

这是推算,其中没有信仰的成分。它的局限在于天文算法的误差(已测定并公布于模型档案),以及各历法取法不同之处,如时区与换日时刻。

延伸阅读

问问 Nhật Nguyệt AI

了解更多

为什么农历换算公历比反过来更麻烦?

公历跟着地球绕太阳走,每月天数固定,只有二月随闰年变化。农历跟着月亮走:每月从朔日开始,按年份不同有 29 或 30 天。十二个朔望月只有约 354 天,所以每隔几年要加一个闰月。

公历换农历只有一个结果。农历换公历还要多知道一件事:有闰月的年份,比如闰六月,农历六月十五会出现两次,相隔约一个月。所以会问你要的是闰月还是非闰的那个月。

农历日期用日、月、年三个数字框输入,而不用手机的日期选择器,因为选择器是公历,选不了二月三十日。若某个农历月只有 29 天而你输入了 30 日,或那个月没有闰月却勾了闰月,就会提示该日期不存在。

结果附有日干支、年干支和节气。干支往往是换算之后马上要用的:择日、看年庚、对照纸质日历。二十四节气按太阳位置划分,所以虽然印在农历里,在公历上的日期几乎固定。

间隔模式从起始日数到结束日,不算起始日本身:同一年的 1 月 1 日到 12 月 31 日是 364 天。周数和月数只是大约换算,因为公历每月有 28 到 31 天。

两种历法的区别
比较项公历越南农历
计算依据地球绕太阳月相周期,月份从朔日开始
每月天数28–31,按固定规则29 或 30 天,按实际月相周期
一年的长度365 或 366 天354–355 天,闰年 383–385 天
补差方式增加 2 月 29 日增加一个闰月
一天相当于对方历法的几天始终对应一个农历日闰月中的日期对应两个公历日
时区计算不依赖越南为 UTC+7,中国为 UTC+8

常见问题

为什么要勾选「这是闰月」?

因为有闰月的年份那个月会出现两次,像六月十五这样的农历日期就对应两个不同的公历日期。不勾选就取非闰的那个月。

越南农历为什么有时和中国农历差一天?

因为越南按 UTC+7 计算,中国按 UTC+8。新月发生在具体的时分;落在午夜附近时,一小时之差就足以把初一推到另一天。这也是两国春节有时不同日的原因。

多久有一次闰月?

大约两三年一次,准确说是 19 年 7 次。闰月沿用前一个月的月份,例如 2025 年六月之后有一个闰六月。

节气属于农历还是公历?

属于公历,虽然印在农历里。二十四节气按太阳位置划分,每 15 度一个,所以在公历上的日期几乎固定:立春在 2 月 4 日前后,冬至在 12 月 21 或 22 日。

算间隔时包括起始日吗?

不包括。从 1 日到 2 日算 1 天。如果要两头都算,比如一趟旅程有几天,再加 1。

很久以前或以后的年份也能换算准吗?

计算基于天文位置,所以前后都能算得很远。但实际使用的历法还取决于各个时期的规定;越南按北京时间印历书的那些年就是一例,当时有少数日期可能与印出的历书不同。

公开 API,返回 JSON,无需登录: GET https://api.nhatnguyet.org/api/v1/calc/doi-lich?d=2027-01-01; GET https://api.nhatnguyet.org/api/v1/calc/doi-lich?am=2027-01-01