English
This page is available in English
The whole page — instructions, buttons and results.
Switch to English免費公曆↔農曆雙向轉換器。返回完整農曆日期(干支年月日)、生肖、納音。支援閏月。
公曆農曆轉換
使用方法
選擇轉換方向
點擊「公曆 → 農曆」或「農曆 → 公曆」標籤頁。預設為公曆→農曆。
輸入日期
填入年、月、日數字。支援公曆 1901-01-01 至 2100-12-31,即香港天文台對照表的範圍。「今天」按新加坡時間的當日填入;在農曆→公曆頁,它填入今天的農曆日期。
閏月勾選(僅農曆→公曆)
輸入框下方會顯示該農曆年有沒有閏月、閏幾月。只有勾選「閏月」且該年確有這個閏月時才會轉換;問一個不存在的閏月,工具會告訴你那一年真正的閏月,而不是悄悄換成平月。
查看結果
結果顯示公曆日期與星期、農曆日期、生肖、干支(年月日)、納音,逢節氣或節日也會標出。若這一天是「節」,干支月在當天某一時刻更替,結果會寫出時刻和前後兩組干支。
中國農曆:月亮定月,太陽定年
中國農曆是陰陽合曆:每個月從合朔(新月)那一天開始,月份的編號卻由太陽決定——含冬至的月是十一月,沒有「中氣」的那個月就是閏月。本工具不查表,而是在瀏覽器裡直接推算:節氣由太陽視黃經算出,合朔依 Meeus《天文算法》第 49 章,閏月依「無中氣置閏」,在東八區(UTC+8,即香港天文台編表所用的時間)取日界。
算完再逐日核對:把 1901 至 2100 年香港天文台《公曆與農曆日期對照表》的 73,049 天逐一比較,只有 1906 年四月的 30 天不同——那個月的合朔落在午夜前 7 分 49 秒,當年欽天監的推步與現代算法分在午夜兩側,工具會在那一天標出。
什麼是閏月
香港天文台的表裡,1901 至 2100 年共 2,473 個完整農曆月:1,312 個大月(30 天)、1,161 個小月(29 天),平均 29.53 天,正是一個朔望月。十二個這樣的月比一個太陽年短約 11 天,所以兩百年裡插了 73 個閏月,平均約十九年七閏——但這只是平均,並非固定週期。閏哪個月要看哪個月恰好沒有中氣:例如 2023 年閏二月、2025 年閏六月、2033 年閏十一月。
干支、生肖、納音
年有兩種分界。農曆年和生肖按正月初一換年:香港天文台「素以正月初一香港標準時間零時零分」為干支交替時刻,並說明 2017 年發布的國家標準《農曆的編算和頒行》與此一致。干支曆的年月則按立春和各「節」更替,八字命理多用這一套。兩者在立春與春節之間會差一年:2026 年 2 月 10 日已過立春,干支是丙午年庚寅月,但農曆仍是乙巳年臘月廿三。本工具兩個都寫出來。納音按六十甲子配對,每兩年共用一個,如 2026 丙午、2027 丁未都是「天河水」。
東南亞華人的用法
新加坡、馬來西亞、印尼、菲律賓的華人社群仍按農曆過春節、元宵、端午、中元、中秋、重陽,這些日子每年落在不同的公曆日。本工具可以查某年春節是哪天(農曆→公曆,輸入 正月初一),也可以把長輩的農曆生日換成公曆。
有兩個立春的農曆年,恰好就是有閏月的那 73 年
按香港天文台對照表,1901 至 2099 年的農曆年裡,73 年有兩個立春、73 年沒有立春、53 年有一個。有兩個立春的,正是有閏月、長達 13 個月的那 73 年。
立春並不一定在正月:200 年裡有 103 年的立春落在臘月。2026 年的立春(2 月 4 日)是臘月十七,春節要到 2 月 17 日。
1901 至 2100 年的 73 個閏月只出現在二月到十一月:閏四月、閏五月最多(各 14 次),閏九月(2014)、閏十月(1984)、閏十一月(2033)各一次,沒有閏正月和閏臘月。
香港天文台在對照表頁面上寫明:合朔或節氣接近午夜時,表中日期可能差一天,並點名 2057 年 9 月 28 日、2089 年 9 月 4 日、2097 年 8 月 7 日的新月。本工具算出這三次合朔都在午夜前 3 分鐘之內,遇到這類日子會提示。
這類「差一分鐘」並不罕見:1901 至 2100 年間開始的 2,474 個農曆月裡,有 52 個的初一由距午夜不足 15 分鐘的合朔決定。
冬至在公曆上幾乎不動:1901 至 2100 年,香港天文台表中的冬至都落在 12 月 21 日至 23 日之間。它所在的那個農曆月,永遠是十一月。
農曆年按正月初一換年,所以 2026 年 1 月 15 日出生的孩子,農曆是乙巳年冬月廿七,屬蛇而不屬馬。這一天也在 2026 年立春之前,按立春算同樣屬蛇。
月長要逐月看:香港天文台表中,大月、小月有時連排,最多連續 4 個大月或 3 個小月。所以「農曆每月 29.5 天,大小月交替」只是近似。
2025 年閏六月從 7 月 25 日開始,只有 29 天。按本工具查,下一個閏六月要到 2036 年。閏月生日怎麼過,習俗各地不同,工具只告訴你下一次在哪年。
1929 年以前,本工具按北京地方平時(東經 116°25′)取日界,1929 年起用東八區。這樣推算出的 1901 至 2100 年 200 個春節,與香港天文台對照表全部一致。
常見問題
-
UTC+8,即香港天文台編表所用的時間;1929 年以前按北京地方平時。新加坡、馬來西亞、香港、台灣都在 UTC+8,所以農曆日期相同。即使你在歐美使用,顯示的仍是 UTC+8 的農曆日。越南按 UTC+7 編算自己的陰曆,個別日子會因此落在不同的一天,本工具不計越南曆。
-
不能。範圍定在 1901-01-01 至 2100-12-31,正是香港天文台對照表涵蓋的兩百年;範圍外沒有可核對的權威表,工具寧可拒絕也不給一個未經核對的答案。更早的日期可查中央研究院《兩千年中西曆轉換》(sinocal.sinica.edu.tw)。
-
習俗各地不同。常見做法:(1) 有閏月的年份過閏月,其餘年份過平月;(2) 一律按平月;(3) 有閏月的年份過兩次。本工具不替你決定:在「農曆 → 公曆」頁勾選閏月後,結果會列出下一個同名閏月在哪一年。
-
立春與春節之間,兩種換年規則給出不同答案。香港天文台按正月初一換年;八字命理多按立春換年。工具兩種都寫出,先寫農曆年的。
-
年柱按立春、月柱按各「節」、日柱按六十甲子連續計日(1949 年 10 月 1 日為甲子日)。三柱都按同一套規則,所以年和月總是相配。逢「節」那天,干支月在交節時刻更替,結果寫出時刻;表中的干支按當天正午計。時柱需要出生時間,請用八字排盤工具。
-
佛曆和道曆是紀年方式,各有自己的起算年;不少佛教、道教節日按農曆的月日來過。本工具只換算農曆與公曆,不計佛曆或道曆年數。
-
生肖按年分(12 年一輪);星座按公曆生日落在哪一段分(一年 12 段)。兩套體系互不相干。
-
不儲存。所有轉換在瀏覽器本地完成,不向伺服器傳送你輸入的日期。
-
1901 至 2100 年逐日對照香港天文台表,73,049 天裡只有 1906 年四月那 30 天不同(合朔在午夜前 7 分 49 秒)。節氣日期 1914 年起與香港天文台表全部一致;1909 至 1913 年有 6 個節氣差一天,都是按北京地方平時落在午夜前幾分鐘。初一或節氣接近午夜時,結果會提示。
-
選「農曆 → 公曆」,輸入「年 = 目標年,月 = 1,日 = 1」即可(春節即農曆正月初一)。例如 2027 年春節是 2 月 6 日。
方法與來源
計算方式
Computed, not looked up (LunisolarKernel): solar terms from the Sun's apparent longitude, new moons per Meeus ch. 49, leap months by the no-major-term rule, day boundary UTC+8 (Beijing mean time before 1929). LunarDateViewsKernel adds the refusals and the two year rules: 干支 year and months from 立春 and each 节, lunar year and 生肖 from 正月初一. Checked against every day of HKO's 1901-2100 tables.
本工具採用的標準
- The Chinese calendar is lunisolar: each month starts on the day of a new moon, and the months are numbered by the sun — the month holding the winter solstice is the eleventh, and a month with no major solar term is the leap month. The page computes this rather than reading a packed table.
- Validated against the Hong Kong Observatory's 公曆與農曆對照表, all 200 yearly files 1901-2100: of the 73,030 days from 1901-01-20 to 2100-12-31, every one agrees except the 30 days of 1906 四月, whose new moon falls 7m49s before midnight on Beijing local mean time; solar-term dates agree for every year from 1914.
- Two year boundaries, both shown. The lunar year and its zodiac animal turn at 正月初一, the rule HKO states for its own tables; the 干支 year and months turn at 立春 and each 节, so the year, month and day pillars printed together always belong together.
- Leap months are handled explicitly rather than silently collapsed into the base month, because 閏四月 and 四月 are different months and a birthday in one is not a birthday in the other. A leap month the year does not have, or a 30th in a 29-day month, is refused with the year's real leap month or the month's length.
- Range 1901-01-01 to 2100-12-31, the span of HKO's tables; outside it the page refuses rather than answer unchecked. Month starts and terms within 15 minutes of midnight are flagged, as HKO itself flags 2057-09-28, 2089-09-04 and 2097-08-07.
- Conversion is deterministic and offline: the same input always returns the same date, and nothing about your dates leaves the browser.
資料來源
- Hong Kong Observatory. 公曆與農曆對照表 / Gregorian-Lunar Calendar Conversion Table, 1901-2100, one file per year (all 200 fetched 2026-10-19): https://www.hko.gov.hk/tc/gts/time/conversion.htm — files at https://www.hko.gov.hk/tc/gts/time/calendar/text/files/T{YYYY}c.txt
- Hong Kong Observatory. 今夕是何年? — "素以正月初一香港標準時間零時零分作為農曆年的干支交替時刻", and that the 2017 national standard 《農曆的編算和頒行》 agrees: https://www.hko.gov.hk/tc/education/astronomy-and-time/time-servi…
- Hong Kong Observatory. 二十四節氣 times (2026 file shown; 立春 04:02): https://www.hko.gov.hk/en/gts/astronomy/data/files/24SolarTerms_2…
- Academia Sinica. 兩千年中西曆轉換 — for dates before 1901, which this page does not convert: https://sinocal.sinica.edu.tw/
可能使本頁過時的因素
- None at runtime: both kernels run in the browser and nothing the reader types is sent anywhere.
已節錄——本工具的完整審閱紀錄長於上列。
Pick up where you left off
Stored only in this browser — never sent to our servers.