ユリウス暦・グレゴリオ暦変換|紀元前対応

ユリウス暦・グレゴリオ暦変換|紀元前対応

暦、紀元、年月日を指定し、同じ日を先発グレゴリオ暦と先発ユリウス暦の両方で表示します。曜日と正午基準のJulian Day Numberも併記します。

入力

同じ年月日表記でも暦法で対応する日が変わります。先発暦として扱い、実際の採用史とは分けます。

西暦か紀元前を選びます。年0は使わず、紀元前1年の前年は紀元前2年です。

1〜9999の正の整数です。年0は入力できません。

1〜12の整数です。

選んだ暦と年月に実在する日を入力します。

使い方

  1. 入力する暦とAD/BCEを選び、年0を使わず正の年、月、日を入力します。
  2. 2行が同じJDNと曜日を持ち、暦名と年月日だけが変換されていることを確認します。
  3. 歴史資料へ使う場合は対象地域の実際の改暦日を別の一次資料で確認します。

計算式・考え方

入力暦の年月日を整数JDNへ変換し、同じJDNを先発グレゴリオ暦と先発ユリウス暦へ逆変換します。曜日はJDN mod 7から求めます。

注意事項

  • 同じ日を2行で示します。入力した暦の行は入力年月日をそのまま表示し、もう一方は同じJDNになる年月日へ変換します。たとえばユリウス暦AD 1582-10-04は先発グレゴリオ暦AD 1582-10-14と同じJDN 2299160で、曜日は木曜日です。実際のローマの改暦で翌日が10月15日になった事実とは目的が異なります。
  • 年月日の整数変換は『Explanatory Supplement to the Astronomical Almanac』Chapter 15、15.11 Calendar Conversion Algorithmsと、U.S. Naval ObservatoryのJulian Date Converter、Notesを基準に照合しました。JDNを共通の橋にすることで、日差を年ごとの固定値として暗記せず、世紀年の閏日差も含めて計算します。
  • 紀元前のユリウス暦は、ローマで当初実施された閏年の混乱を復元する歴史モデルではありません。4年ごとの規則を後方へ延長した先発ユリウス暦です。古代史料の年号、執政官年、地域暦から変換する場合は、その史料が現代のproleptic表記へどう校訂されたかを別に確認してください。
  • 国別改暦の変換機ではないため、入力欄に国名はありません。1582年の10日、1752年の11日、20世紀の13日という差だけから採用地域を推測しません。戸籍や新聞の日付を扱うときは、その国のどの制度がどの日から新暦を採用したかを一次法令や公文書で確認してください。
  • この4ページは、日付文字列をサーバーへ送らず利用者のブラウザー内だけで計算します。外部API、fetch、XMLHttpRequest、WebSocket、CDN上の計算ライブラリ、ファイルアップロード、閲覧値の保存を使用しません。WordPress本文、追加CSS、追加JavaScriptへ分けられる静的成果物であり、builder自体も下書き作成、既存記事更新、公開操作を行いません。
  • 日付は時刻を持たない暦日として扱い、Julian Day Numberはその日の正午を表す整数です。天文学で午前0時を表すJulian Dateには小数部.5が付くため、JDNとJDを混同しないでください。曜日は7日周期が途切れず続くという計算上の前提からJDNの剰余で求め、地域の曜日名変更や歴史上の時刻制度は扱いません。
  • 紀元前はBCE、紀元後はADの文字を日付の先頭に表示し、利用者には年0を入力させません。内部の暦算だけは紀元前1年を天文学的年0、紀元前2年を年−1へ写して連続計算します。結果を史料へ引用するときは、BCE/CE方式か天文学的年番号かを必ず併記してください。1年のずれは単純な表示誤差ではありません。
  • 先発グレゴリオ暦と先発ユリウス暦は、各暦の規則を導入以前や廃止以後にも機械的に延長する計算モデルです。1582年10月のローマ系改暦、1752年の英国系改暦など、実際の採用日は国・地域・用途で異なります。本表は地域史を自動推測せず、消えた日付や二重に現れた日付を歴史的な公文書の日付として断定しません。
  • 入力日は選んだ暦の閏年規則で検査します。グレゴリオ暦は4で割り切れる年を原則閏年とし、100で割り切れて400で割り切れない年を平年にします。ユリウス暦は4年ごとを閏年にします。2月30日、平年の2月29日、4月31日などを翌月へ自動繰越しせず、該当する日欄のエラーとして計算前に止めます。
  • 表のすべてのセルは文字列です。BCEという紀元、暦名、アポストロフィ付きのMaya日名、先頭の0を保ったISO風年月日を、表計算ソフトの自動日付へ変換させないためです。TSVをExcelなどへ取り込む場合は列を文字列に指定し、日付シリアル、指数表示、ローカル書式へ置換されていないか再出力して照合してください。
  • calculator-first構成としてページ先頭に入力欄と結果表を置き、その下に式、適用範囲、相関、歴史上の注意を説明します。まず既定値の既知点を確認し、次に必要な年月日へ変えてください。異なるサイトと比較するときは表示日だけでなく、暦法、紀元、JDNの正午基準、Easterの方式、Mayaの相関定数が同じかを先に揃えます。
  • 実装は固定された4つのmodeと許可済みのselect値だけを受け付けます。evalやnew Functionで入力をコードとして実行せず、HTML断片や任意の数式を受け取る欄もありません。整数の下限・上限、月日、Long Count各桁、相関定数、結果行数、列名を検査し、NaN、Infinity、範囲外の周期を正常結果として表示しません。
  • 正常例、上限または紀元前の境界例、不正な暦日または範囲外例を各ページ定義へ固定します。生成側の独立整数式とブラウザー実装について、行数と文字列セルを完全一致で比較します。日付をミリ秒へ変換するDateオブジェクトのローカル時刻差には依存せず、整数JDNを介して日単位の変換を行います。
  • この計算機は暦学、歴史資料の読み合わせ、宗教暦やMaya暦の学習を補助するものです。法的期限、戸籍、契約日、宗教団体の公式日程、文化財年代、考古学上の年代決定を単独で確定しません。重要な用途では対象地域と団体の一次資料、原史料の暦注、専門家の校訂、独立した暦算実装を照合してください。
  • 表示範囲を有限にしているのは、計算式がその外で必ず数学的に破綻するという意味ではありません。歴史的根拠、5桁表記の一意性、ブラウザーQA、コピー可能な表の大きさを同時に管理するためです。上限外の入力を端へ丸めたり、周期剰余で別の日へ黙って写したりせず、前提を選び直せるエラーとして返します。
  • 一次資料の名称、節名、確認日を本文に残し、URLはbuilderの監査メタデータだけに保持します。実行時に参照サイトへ接続せず、参照先の障害や改稿で結果が突然変わりません。今回の最終照合日は2026年7月15日です。公開前の手動レビューでは、節の現存、用語の綴り、計算範囲、既知点が変わっていないかを再確認します。
  • 既存サイトのフォント、余白、色、モバイル幅を継承し、長い表だけを内側で横スクロールさせます。暦名や注意列を画面幅に合わせて削除せず、375px幅でも入力ラベルとエラーの対応が分かる順序を保ちます。色だけで方式を区別せず、列見出しとダッシュ記号、説明文を併用して支援技術でも意味が伝わるようにします。
  • 先発暦と固定算法による学習・検算用です。地域の実際の改暦、宗教団体の公式日程、Maya相関の学説差を自動確定しません。

よくある質問

国ごとの改暦日も自動判定しますか?

しません。両方ともprolepticな暦として同じ日を変換します。

紀元前1年の前年は年0ですか?

表示上の年0はなく紀元前2年です。内部計算だけ天文学的年番号を使います。

JDNとJDは同じですか?

本表のJDNは正午基準の整数です。午前0時のJDには小数部.5があります。

入力した暦日、相関定数、Long Count、算出した日付と周期名はこの端末のブラウザー内だけで処理され、外部へ送信または保存されません。