この計算機でできること
このツールは、ユリウス暦(紀元前45年に導入。4で割り切れる年をすべて閏年とする方式)とグレゴリオ暦(1582年の改暦により、400年間で3回の閏日を取り除いた方式)の間で、日付を相互に変換します。一方の暦で日付を入力すると、もう一方の暦に対応する日付を返します。これは純粋な天文学的・西洋暦の変換であり、地域に関係なくどこでも同じように適用されます。
使い方
まず変換元の暦(入力する日付が書かれている暦法)を選びます。結果は反対側の暦法で出力されます。次に紀元(紀元後/紀元前)を選び、年・月・日を入力してください。変換後の紀元・年・月・日に加えて、中間値であるユリウス通日(JDN)と、その日付においてグレゴリオ暦がユリウス暦より何日進んでいるか(日数差)も表示されます。
計算式の解説
もっともすっきりとした正確な変換は、いずれの暦法にも依存しない整数の日数カウントである JDN を経由する方法です。手順Aでは、変換元の(年・月・日)を標準的な整数計算式(ユリウス暦用とグレゴリオ暦用の2種類)で 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$$手順Bでは、その JDN をもう一方の暦に変換します。すべての除算は数学的な切り捨て(floor)除算で行い、紀元前の年には天文学的な年番号を用います。紀元前B年は天文学的年では 1 - B(紀元前1年 = 0、紀元前45年 = -44)となり、これにより0年を挟んだ往復変換も正確になります。
計算例
グレゴリオ暦の紀元後1582年6月15日を考えます。\(Y_{astro} = 1582\) として、グレゴリオ暦→JDN の計算式から \(\text{JDN} = 2299039\) が得られます。この JDN をユリウス暦に変換すると、1582年6月5日となります。つまりグレゴリオ暦の1582年6月15日は、ユリウス暦の1582年6月5日に相当し、当時グレゴリオ暦はユリウス暦より10日進んでいたことになります(\(dayDifference = +10\))。これは1582年10月の改暦と一致します。
よくある質問
0年は存在しますか? いいえ。紀元の表記では、紀元前1年の次は直接紀元後1年になります。内部的には0年 = 紀元前1年とする天文学的年番号を用いており、これにより計算が連続的になります。
「先発(プロレプティック)」とはどういう意味ですか? これらの変換は、各暦法のルールをすべての日付に適用します。たとえその暦が歴史上まだ存在しなかった時代であっても同様です。国ごとにグレゴリオ暦への移行時期が異なったという事実は、ここでは考慮していません。
日数差は時代とともにどれくらい変化しますか? 西暦200年ごろはおよそ0日、1582年で+10日、1900〜2099年で+13日、2100年以降は+14日となります。