透過 MCP 連接 →

輸入計算

數學公式

數學公式: 儒略曆與格里曆日期換算工具
Show calculation steps (1)
  1. Julian date to Julian Day Number

    Julian date to Julian Day Number: 儒略曆與格里曆日期換算工具

    Same a, y, m substitutions but without the 100/400 century-leap corrections.

廣告

結果

換算後日期
1,582 AD  ·  Month 6  ·  Day 5
(目標曆法)
結果的紀年 1 (AD / CE)
儒略日數(JDN) 2,299,039
日數差(格里曆減儒略曆) +10 days

這個工具能做什麼

這個工具可在儒略曆(西元前 45 年制定,凡能被 4 整除的年份皆為閏年)與格里曆(即西元 1582 年的曆法改革,每 400 年去掉 3 個閏日)之間互換日期。只要輸入其中一種曆法的日期,就會回傳另一種曆法的對應日期。這是純粹的天文/西曆換算,全球通用,並不限於特定地區。

示意圖展示一個儒略曆日期和一個格里曆日期透過中央的儒略日數相連
兩種曆法都透過共用的儒略日數作為共同參考點進行換算。

使用方式

先選擇來源曆法(即你輸入的日期所採用的系統),結果則會以另一種系統呈現。接著選定紀年方式(公元 AD/CE 或公元前 BC/BCE),再輸入年、月、日。工具會回報換算後的紀年、年、月、日,同時附上中介的儒略日數(JDN),以及日數差(該日期格里曆比儒略曆領先幾天)。

公式說明

最乾淨、最精準的換算方式,是先轉換成 JDN——一種與任何曆法都無關的整數日數計數。步驟 A 是用標準整數公式(儒略曆版與格里曆版各一)把來源的(年、月、日)轉成 JDN;步驟 B 再把該 JDN 轉換到另一種曆法。格里曆版公式為:

$$\text{JDN} = D + \left\lfloor\frac{153m+2}{5}\right\rfloor + 365y + \left\lfloor\frac{y}{4}\right\rfloor - \left\lfloor\frac{y}{100}\right\rfloor + \left\lfloor\frac{y}{400}\right\rfloor - 32045$$

儒略曆版公式為:

$$\text{JDN} = D + \left\lfloor\frac{153m+2}{5}\right\rfloor + 365y + \left\lfloor\frac{y}{4}\right\rfloor - 32083$$

所有除法都採用數學上的向下取整(floor)除法;公元前年份則使用天文紀年法:公元前第 B 年對應的天文年為 \(1 - B\)(公元前 1 年 = 0,公元前 45 年 = -44),因此跨越第 0 年來回換算都能完全準確。

平面數線展示1582年10月儒略曆與格里曆日期之間的10天跳躍
1582年10月,格里曆改革跳過了10天,體現了兩種曆法之間的偏差。

實際範例

以格里曆公元 1582-06-15 為例。當 Yastro = 1582 時,格里曆轉 JDN 的公式得出 \(\text{JDN} = 2299039\)。再把這個 JDN 轉回儒略曆,會得到 1582-06-05。換言之,格里曆 1582 年 6 月 15 日等於儒略曆 1582 年 6 月 5 日——當時格里曆比儒略曆早了 10 天,恰好對應 1582 年 10 月的曆法改革(dayDifference = +10)。

常見問題

有第 0 年嗎?沒有。在紀年系統中,公元前 1 年的下一年直接就是公元 1 年。但在程式內部,我們採用天文紀年法,將第 0 年視為公元前 1 年,這樣運算才能連續無斷層。

為什麼叫「外推」(proleptic)?這類換算會把各曆法的規則套用到所有日期上,即使是該曆法在歷史上尚未存在的時期也一樣。它並不會反映不同國家在不同時間採用格里曆改革的史實。

日數差隨時間會有多大?大約在西元 200 年前後為 0 天,1582 年為 +10 天,1900–2099 年為 +13 天,2100 年起則為 +14 天。

最後更新: