Endless狼人殺曆法工具立即開玩

印度古曆(Old Hindu 均值系統):把宇宙寫成分數的曆法

西元前 3102 年 2 月 18 日(儒略曆),儒略日數 588466——古印度天文學家把宇宙的碼表歸零在這一天。從此之後的每一年、每個月、甚至每個「太陰日」,都是同一個 432 萬年大週期的精確分數。這篇文章講清楚這套曆法怎麼運作、為什麼精確得驚人,以及換算時最容易踩的幾個坑。

從 432 萬年說起:mahāyuga 與 Kali Yuga 紀元

印度古典宇宙觀把時間切成巨大的巢狀週期。最常用的單位是 mahāyuga(大時代),長達 4,320,000 年,再依 4:3:2:1 的比例分成四個時代:Kṛta(圓滿時代,172.8 萬年)、Tretā(129.6 萬年)、Dvāpara(86.4 萬年),以及我們身處的 Kali Yuga(爭鬥時代,43.2 萬年)。一千個 mahāyuga 構成一個 kalpa(劫),相當於創造神梵天的一個白晝。這不只是宗教想像——對天文學家來說,mahāyuga 是一把巨大的公分母,所有天體運動都被設定成在這段時間內走完「整數次」,曆法計算因此變成漂亮的分數運算。

Kali Yuga 的起點被定在西元前 3102 年 2 月 18 日(儒略曆)星期五的日出,傳統上對應《摩訶婆羅多》大戰結束、黑天(Kṛṣṇa)離世的時刻。這一天換成天文計算慣用的儒略日數(JDN)是 588466;若改用往前外推的格里曆表示,則會落在同年 1 月下旬——查資料時看到兩個不同日期,通常就是曆制標示不同,不是有人算錯。

值得先說破的一點:這個紀元不是西元前 3102 年當場觀測記錄下來的,而是約一千年前(西元 5 世紀前後)的天文學家往回推算的結果——他們假設所有行星在那一刻的平均位置齊聚白羊座零度,然後反推出這個日期。細節放在後面「爭議」一節,但讀這套曆法時,把紀元理解成「數學上的原點」會比「歷史事件的時間戳」更準確。

均值曆的核心設計:一切都是整數

這套曆法最迷人的地方,是它把天文學做成了整數論。以 Āryabhaṭa(阿耶波多,西元 499 年完成《Āryabhaṭīya》)一系的常數為例:一個 mahāyuga 裡恰好有 4,320,000 個恆星年、53,433,336 個朔望月、1,577,917,500 個民用日。所有曆法量都是這些整數的比值,不需要無理數、不需要小數點,曆算就是分數的加減乘除。這種「大公倍週期」的思路和希臘、巴比倫的「大年」概念遙相呼應,但印度把它推到了極致。

其中藏著一個特別優雅的細節:mahāyuga 裡地球自轉 1,582,237,500 次,而民用日只有 1,577,917,500 天——兩者恰好差 4,320,000,就是年數。原因是太陽每年在星空中繞行一圈,「偷走」一次日出,所以日出次數永遠比自轉次數少掉年數。Āryabhaṭa 本人主張是地球在轉、不是天球在轉,在西元 499 年這是相當大膽的主張。

「均值(mean)」的意思是:太陽和月亮都被假設等速運動,不考慮軌道橢圓造成的忽快忽慢。真實天體當然不等速,但均值系統換來的是絕對的規律性與可計算性——任何人在任何時代用同一組分數,會算出一模一樣的日期。這套均值系統在印度通行到約西元 1100 年,之後才逐步被採用真實位置(spaṣṭa)的演算法取代。

曆算的樞紐概念叫 ahargaṇa,「日之堆」——從 Kali Yuga 紀元起算的總天數。知道 ahargaṇa,一切日期資訊都能推出來。這其實就是現代天文學儒略日數(JDN)的同一個點子,只是印度人早用了一千多年。

月與日的機關:太陰月、tithi 與 adhika māsa 閏月

這是一部陰陽合曆:月份跟著月亮走,年度框架由太陽定。太陰月採 amānta 制,從新月到下一個新月為一個月;太陽這邊,黃道十二宮(rāśi)各對應一個「太陽月」,平均約 30.44 日。十二個太陰月(Caitra、Vaiśākha、Jyaiṣṭha⋯⋯到 Phālguna)加起來約 354 日,比太陽年短了約 11 日,所以需要閏月來追平。

閏月規則乾淨俐落:當某個太陽月(太陽停留在同一宮的期間)裡出現兩次新月,從第一次新月起算的那個太陰月就是閏月,稱為 adhika māsa(「多出來的月」),掛上下一個月的名字並冠以 adhika 前綴——例如 adhika-Śrāvaṇa 出現在正常的 Śrāvaṇa 之前。由前面的整數帳可以直接算出頻率:平均每 32 到 33 個月(約 2.7 年)出現一次。順帶一提,均值系統裡只會有閏月、不會有「被刪掉的月」(kṣaya māsa);刪月是真實運動系統才會出現的怪事。

比「月」更小的單位是 tithi(太陰日):把一個朔望月等分成 30 份,每份約 0.984 日。曆面上的日期由「日出當下正在進行的 tithi」決定。因為 tithi 比一天略短,平均每兩個月左右會有一次「兩個 tithi 在同一個日出區間內結束」,於是曆面日期跳號——這不是錯誤,是設計的必然結果。均值系統只會跳號;現代真實運動的曆才會同時出現跳號與重號。

紀年陷阱:elapsed 還是 current?永遠差一年

查印度紀年最容易中招的地方,是「已滿(elapsed / gata)」與「進行中(current / vartamāna)」兩種數法。印度天文傳統計的是已滿年數——紀元至今完整經過了幾年;日常與部分文獻則用進行中的年份。兩者永遠差一年,性質很像台灣人熟悉的實歲與虛歲:elapsed 是實歲,current 是虛歲。

以現在為例:Kali Yuga 進行中(current)第 5128 年,從西元 2026 年 3 月 19 日的新年起算;同一天,已滿(elapsed)年數變成 5127。換算口訣:新年之後,elapsed = 西元年 + 3101,current = 西元年 + 3102;新年之前(約每年 3、4 月交界前)各再減一。看到兩份資料差一年時,先檢查它們用的是哪種數法,九成不是誰算錯。

Kali Yuga 紀元主要是天文學家在用;民間更常見 Vikrama 紀元(約始於西元前 57 年)與 Śaka 紀元(始於西元 78 年)。它們與 Kali Yuga 的差值是固定的(Śaka ≈ K.Y. − 3179,Vikrama ≈ K.Y. − 3044),但每種紀元又各有 elapsed/current 兩種用法,加上各地新年起點不同——這就是為什麼不同來源的印度年代換算表經常互相打架。

哪些地方不確定、哪些有爭議

誠實面對這套曆法,有幾件事必須說清楚。第一,西元前 3102 年的紀元是回推出來的:現代天文計算顯示,當時肉眼可見的行星確實鬆散地聚在同一天區,但遠非精確會合。學界主流看法是,西元 5 世紀前後的天文學家(很可能就是 Āryabhaṭa 的時代)用當時的平均運動參數往回外推,找到這個數學上的匯聚點,再與史詩傳統的大戰年代綁定。它是傑出的計算成果,不是上古的觀測紀錄。

第二,432,000 這個數字與巴比倫傳統有可疑的相似性——祭司貝羅索斯(Berossus)記載的大洪水前諸王在位總年數恰好也是 432,000 年,而這正是六十進位制下的漂亮數字(120 × 3600)。是文化傳播還是巧合?學界至今沒有定論,我們也不假裝有。

第三,印度天文學內部本來就有不同學派:本文採用的 Ārya 系常數把 mahāyuga 的民用日數定為 1,577,917,500,而《Sūrya Siddhānta》系用 1,577,917,828,還有日出起算(audayika)與午夜起算(ārdharātrika)之分。學派不同,長時段換算可能差到一天。最後,這套曆的年是「恆星年」(365.25868 日),比回歸年長了約 0.0165 日,所以整部曆相對於季節每 60 年左右漂移一天——這正是為什麼當初對準春分的太陽年首,如今已經漂到 4 月中旬。曆法沒有壞,它只是忠實地跟著恆星而不是季節走。

我們的計算器怎麼實作與驗證這個曆法

本站的印度古曆計算器實作的是 Ārya 系均值系統——也就是約西元 1100 年以前印度實際通行的那套歷史曆法。紀元固定在西元前 3102 年 2 月 18 日(儒略曆),即儒略日數 588466;所有換算都以 JDN 為橋樑,先把任何西曆日期化成天數,再用分數運算推回古曆,反向亦然。

關鍵設計是全程使用精確分數而非浮點小數:恆星年就是 1,577,917,500/4,320,000,朔望月就是 1,577,917,500/53,433,336,tithi 是朔望月的三十分之一(約 0.984 日)。整數分數運算沒有捨入誤差,同一個輸入在任何裝置、任何時候都得到同一個輸出,而且「西曆→古曆→西曆」的往返換算必須回到原日——這是我們的基本驗證閘。閏月判定也照歷史規則走:以均值位置找出「一個太陽月內含兩次新月」的情形,將前者標為 adhika māsa。

紀年顯示上,我們把 elapsed 與 current 兩種數法並列標明,避免差一年的老陷阱;以本系統推算,Kali Yuga current 5128 年自西元 2026 年 3 月 19 日起算。

最後是誠實聲明:現代印度通行的 pañcāṅga(曆書)採用太陽與月亮的真實運動計算,結果會與均值系統相差一天上下,閏月的位置偶爾也不同。本站刻意不做真實運動版本——我們提供的是歷史上的均值曆本身,適合閱讀古代文獻、理解曆理與長時段換算;若你需要今天的宗教節日確切日期,請以現行 pañcāṅga 為準。

相關頁面

常見問題

Kali Yuga 現在是第幾年?西元 2026 年怎麼換算?

以進行中(current)的數法,Kali Yuga 第 5128 年從西元 2026 年 3 月 19 日的新年起算;已滿(elapsed)數法則是 5127 年。口訣:新年之後 elapsed = 西元年 + 3101、current = 西元年 + 3102;新年之前各再減一。不同資料相差一年,幾乎都是這兩種數法混用造成的。

印度古曆日期怎麼換算成西曆?

核心是天數計數:先算出目標日期距 Kali Yuga 紀元(儒略日數 588466,西元前 3102 年 2 月 18 日儒略曆)的總天數(古稱 ahargaṇa),再用恆星年 1,577,917,500/4,320,000 日與朔望月 1,577,917,500/53,433,336 日這兩個分數推出年、月、tithi。本站計算器雙向支援:輸入西曆得古曆,輸入古曆年月日也能反推西曆。

adhika māsa(閏月)是什麼?多久出現一次?

當太陽停留在黃道同一宮的期間(一個太陽月)內出現兩次新月,從第一次新月起算的太陰月就是閏月 adhika māsa,掛下一個月的名字並冠上 adhika 前綴。因為十二個太陰月比太陽年短約 11 天,平均每 32 到 33 個月(約 2.7 年)就需要一次閏月。均值系統只有閏月,不會出現刪月(kṣaya māsa)。

為什麼換算結果和印度現行的 pañcāṅga 曆書對不上?

因為系統不同:本站實作的是約西元 1100 年前通行的均值(mean)系統,假設日月等速運動;現代 pañcāṅga 用真實(true)天體位置計算。兩者相差一天上下很正常,閏月落點偶爾也不同。查歷史文獻、理解曆理用本站;查今年節日的確切日期,請以現行 pañcāṅga 為準。

tithi 是什麼?為什麼曆面日期會跳號?

tithi(太陰日)是朔望月的三十分之一,約 0.984 天,略短於一個晝夜。曆面日期由日出當下正在進行的 tithi 決定,所以平均每兩個月左右會有兩個 tithi 在同一個日出區間內結束,造成日期跳過一號——這是設計的必然結果,不是錯誤。均值系統只會跳號;採真實運動的現代曆才會同時出現跳號與重號。