多年以来,大部分网路上的农历应用程式都采用相似的方法:利用预先建立的查找表(Lookup Table)或现成函式库,将公历日期直接转换为农历日期。
这种方式足以满足日常查询需求,但当涉及历法研究、东方术数或学术用途时,便容易暴露出许多限制。
Quizzman Calendar Engine(Quizzman 历法引擎) 采取完全不同的设计理念。
它并非单纯「查询历法」,而是依照天文学原理重新计算整个历法系统,让 Quizzman 生态系中的所有工具都建立在同一套可验证、可重现且一致的资料来源之上。
它不只是日历,而是整个 Quizzman 东方研究平台的 Calendar Infrastructure(历法基础设施)。
设计理念
Quizzman Calendar 并不是为了提供「黄道吉日」而建立。
它的目标包括:
- 以天文学重新建构东亚历法。
- 公开所有演算法。
- 所有结果皆可验证。
- 易于扩充各种研究模组。
- 不依赖任何封闭资料来源。
因此,Calendar Engine 成为下列系统共同使用的核心:
- 易经(I Ching)
- 八字(BaZi)
- 紫微斗数(Ziwei)
- 风水(Feng Shui)
- 黄历
- 干支
- 二十四节气
- 历史历法研究
所有模组共享同一套历法核心,因此不会因不同工具而出现日期或干支不一致的情况。
不采用查找表
许多现有历法系统都预先储存每一年的资料,例如:
- 2024 → 2024 年资料
- 2025 → 2025 年资料
- 2026 → 2026 年资料
优点:
- 执行速度快
- 实作容易
缺点:
- 难以延伸到更久远的年代
- 无法支援历史研究
- 无法解释结果如何产生
- 维护成本高
Quizzman 采用完全不同的方法:
所有历法资讯皆由演算法即时计算,而非直接读取预先建立的资料表。
因此系统可以支援极大的时间范围,同时保持一致性与可验证性。
天文演算法才是核心
传统历法本质上就是天文运动的结果。
因此 Calendar Engine 将天文学作为第一层运算。
整体 Pipeline(处理流程) 如下:
UTC
↓
Julian Day
↓
ΔT
↓
Solar Longitude
↓
二十四节气
↓
干支
↓
农历
↓
各种东方研究 Engine(引擎)
每一个步骤都可以与现代天文模型相互验证。
VSOP87-太阳位置模型
Calendar Engine 的核心之一,是 VSOP87(行星轨道解析模型)。
VSOP87 是目前天文学中广泛采用的数学模型,可高精度计算太阳系行星的位置。
在 Quizzman 中,它主要用于:
- 计算太阳黄经
- 推算节气时刻
- 春分、秋分、夏至、冬至
- 年周期运行
由于直接采用天文模型,因此不需要依赖任何固定资料表。
Julian Day-天文时间标准
所有历法计算都先转换成 Julian Day Number(儒略日)。
Julian Day 是国际天文学界普遍使用的连续时间标准,可避免:
- 格里历(Gregorian Calendar)
- 儒略历(Julian Calendar)
- 闰年
- 历法改革
所造成的影响。
完成转换后,再继续计算:
- 干支
- 节气
- 朔(日月合朔)
- 望(月望)
- 农历月份
如此即可保证所有模组使用完全一致的时间基准。
依太阳黄经计算二十四节气
二十四节气并非固定日期。
Calendar Engine 会计算太阳黄经到达:
- 0°
- 15°
- 30°
- …
- 345°
的精确时刻。
因此节气完全依照天文现象决定,而不是查询固定日期。
精确的干支系统
Quizzman 的干支系统不只支援:
- 年柱
- 月柱
- 日柱
还可计算:
- 时柱
- 节气交接
- 历法周期
因此八字、紫微斗数与易经等模组皆可共用同一套干支资料。
支援历史时区
历史上的越南与中国并非一直使用相同时区。
若一律固定采用 UTC+7 或 UTC+8,便可能造成历史日期错误。
Quizzman Calendar Engine 支援历史时区(Historical Time Zone,历史时区)模型,可重现不同历史时期的实际时间制度,方便历史历法研究。
精度设计
Calendar Engine 采用以下流程:
计算 → 验证 → 比对 → 校正
所有结果皆会与:
- 天文模型
- 历法资料
- 学术研究
- 公开参考资料
互相比较。
Quizzman 并非试图建立另一套历法,而是建立一套可解释、可验证的历法系统。
在节气、太阳黄经等天文计算中,实际精度取决于所采用的模型与 ΔT 等修正参数;对教育、研究与东方历法应用而言,皆具备足够的准确度。
Quizzman 生态系中的角色
Calendar Engine 并非独立存在,而是所有东方 Engine(引擎)的共同基础。
Quizzman I-Ching Engine(易经引擎)
提供:
- 干支
- 日辰
- 月建
- 节气
- 起卦时间
Quizzman Bazi Engine(八字引擎)
提供:
- 四柱
- 大运
- 流年
- 藏干
Quizzman Ziwei Engine(紫微斗数引擎)
提供:
- 农历
- 闰月
- 排盘
- 局数
Quizzman Almanac(黄历系统)
提供:
- 黄历
- 建除十二神
- 节气
由于所有模组皆共用同一套 Calendar Engine,因此可避免资料不一致。
Engine(引擎)导向架构
Quizzman Calendar 并不是网站,而是一套真正的 Engine(引擎)。
它提供:
- API(应用程式介面)
- 演算法
- Calendar Core(历法核心)
- Time Engine(时间引擎)
- Astronomy Engine(天文引擎)
- Conversion Engine(历法转换引擎)
因此其他 Quizzman 应用程式都能直接重复利用,而不需要重新开发历法演算法。
透明且可验证
Quizzman 的核心理念之一,就是拒绝把历法做成「黑盒子」。
每一项结果都应具备:
- 可解释
- 可验证
- 可重现
- 可扩充
这对东方学研究者、教师、开发者及希望深入理解历法原理的使用者都十分重要。
未来发展方向
Quizzman Calendar Engine 将持续朝以下方向发展:
- 扩展历史历法计算范围。
- 引入更多高精度天文模型。
- 提升大规模计算效能。
- 与易经、八字、紫微等 Engine 深度整合。
- 建立完整技术文件,公开架构与演算法。
结语
Quizzman Calendar Engine 并不只是公历与农历转换工具。
它是一套以天文学为基础建立的 Calendar Engine(历法引擎),融合 Julian Day(儒略日)、VSOP87(行星轨道模型)、干支 与 二十四节气 等核心技术,致力于打造一个精确、透明、可验证且可重复利用的现代历法基础设施,作为 Quizzman 东方研究与教育平台的重要核心。