ユリウス日と日柱計算
出生日の暦法と日界を確定し、連続日数と検証済み基準日から日柱を再現可能に求める方法を解説します。
概要
日柱の算出には月別の早見表ではなく、途切れない時間軸が必要です。原記録の暦法、出生地、採用する四柱推命の日界を確認した後、有効な日付を定義済みのユリウス日または整数日数へ変換し、検証済みの干支基準日との差を六十で循環させます。天文学上のユリウス日は UTC 正午に切り替わり、民間日は通常午前零時、流派によっては 23 時を日界とします。正午補正と丸め方を明記しなければ、全日柱が一日ずれることがあります。
基本情報
- 目的
- 異なる年月日を一つの連続時間軸に置く
- 天文ユリウス日
- UTC 正午に日番号が変わる
- 必要な定義
- 整数日数と丸め方の明示
- 循環計算
- 基準日との差を 60 で剰余化
- 四柱推命の前処理
- 採用する現地日界を先に適用
- 代表的な誤り
- 半日または一日の無自覚なずれ
連続日数は月長と暦法の不規則性を切り離します
民間暦の月には長短があり、閏日が入り、歴史資料は別の暦法を使うこともあります。検証済みの日付を連続日数へ移すと、任意の二日間の距離を一貫して扱えます。
ただし原日付と暦法名は残します。日数は計算用の正規化であり、史料の来歴を置き換えるものではありません。
- 元の暦法で日付の存在を確認します。
- 原表記と正規化値を併記します。
ユリウス日と民間日の切替時刻は同じではありません
天文学上のユリウス日は UTC 正午に番号が変わります。ソフトウェアでは午前零時へ補正した整数値も使われますが、0.5 の加減や切り捨て順序は実装ごとに異なります。
六十日循環へ入れる前に、時刻基準、丸め処理、有効な命理上の日を確定します。ここを混在させると日柱が一日ずれます。
- 正午、午前零時、切り捨ての扱いを文書化します。
- 起点定義のない数式を流用しません。
照合済み基準日から六十で循環させます
同じ暦法と日界で干支日が独立に確認できる日を基準にし、対象日数との差へ基準インデックスを加えて非負の六十剰余を取ります。
基準日、ゼロ始まりか一始まりか、剰余処理は一つの契約です。一部だけ変えると、見慣れた名称を返しながら全結果がずれます。
- 基準日と循環番号を一緒に管理します。
- 基準日前の日付でも負の剰余を正規化します。
隣接日と長期不変条件で実装を証明します
有効日の前後が一つずつ進退し、六十日後に同じ干支へ戻り、閏日や改暦でも循環が飛ばないことを確認します。
現地午前零時、選択した 23 時日界、UTC オフセット変更、歴史暦変換の境界も試験します。解釈は計算が確定してから行います。
- 閏日と改暦日の両側を試験します。
- 暦計算と命理解釈の検証を分離します。
出典と編集方針
- U.S. Naval Observatory: Julian Date Converter美國海軍天文台說明儒略日期以連續日數表達時間,並提供格里曆與儒略曆輸入換算;天文儒略日的正午起算須在整數日序前明確正規化グレゴリオ暦・ユリウス暦の日付を連続したユリウス日へ変換する米海軍天文台の公式天文資料です。
- OpenFate 編集方法產品以版本化基準日、非負六十取模及前後一日與六十日不變式校驗日柱,並把曆法、時區與八字換日規則分層處理OpenFate は、決定論的な命式計算、伝統的な解釈、現代的な編集解説を分けて扱います。