六十甲子日柱循環校驗
以天干地支標準次序、相鄰日不變式、可信基準日與邊界案例校驗六十甲子日柱循環。
概覽
六十甲子日柱是十天干與十二地支依標準次序同步前進的結果。兩個序列在最小公倍數六十步後同時回到起點,因此只會出現六十組陰陽相配的組合。可信的排盤引擎不只要顯示熟悉的干支名稱,還要證明有效日期每天恰好前進一位、六十天後回到同一組、基準日前的日期能正確回繞,以及閏日和民用曆法改革不會讓循環重複或跳號。歷史時區與八字換日界線必須先確定,再做循環校驗。
概念速覽
- 天干序列
- 十天干
- 地支序列
- 十二地支
- 共同週期
- 六十組有序干支
- 相鄰日規則
- 循環索引恰好前進一位
- 回歸規則
- 相隔六十日回到同一組
- 執行順序
- 曆法、時區與換日處理之後
六十組來自兩個同步前進的序列
每天的天干索引與地支索引同時加一,直到十與十二的最小公倍數六十才回到相同狀態。
這個結構也維持陰陽同類配對:陽干只配陽支,陰干只配陰支。出現陰陽不相容的組合,代表資料或索引已損壞。
- 使用標準天干、地支次序。
- 直接拒絕不可能的陰陽配對。
局部不變式最容易抓出索引錯誤
每個有效日期的下一日必須前進一組,前一日必須退一組;加減六十日應保持同一干支,即使跨越月底、年底或閏日也一樣。
這些測試比少量孤立對照日更容易發現負數取模、零起算與一日起算混用,以及閏日重複等問題。
- 同時測試基準日前後日期。
- 涵蓋年末與閏年交界。
獨立校驗的基準日把循環固定到真實時間軸
循環結構本身無法判斷某個歷史日期是哪一柱,必須至少有一個外部可核對的基準日;距離較遠的多個基準點,還能揭露曆法轉換或紀元偏差。
基準日的原曆法、時間基準與索引方式都要保存。干支雖對但掛在錯誤的民用換日點,仍不是有效基準。
- 採用多個獨立參考日期。
- 版本化基準點與紀元契約。
先決定有效八字日,再驗證六十循環
接近本地午夜或流派所用 23:00 換日的出生,在不同明示方法下可能落入不同日期;歷史時區與重複鐘點也可能讓瞬間跨界。
應分別算出各個受支持的方法,再對每個候選套用相同循環規則。不能為了配合偏好的解讀而更換基準日。
- 把時間解析與循環索引分成兩層。
- 範圍跨界時回傳有標籤的候選。
來源與編輯依據
- Hong Kong Observatory: Heavenly Stems and Earthly Branches香港天文台列明十天干、十二地支與六十干支的標準循環,支持陰陽配對、相鄰日遞進與六十日回歸規則香港天文台對天干地支標準次序、干支紀日與六十甲子的現代官方說明。
- OpenFate 編輯方法說明產品以多個外部基準日、雙向日期、閏日、跨年、歷史曆法與日界案例作不變式測試,不以單一查表結果代替算法驗證OpenFate 將確定性的排盤計算、傳統解釋框架與現代編輯說明分開處理。