这款换算器的功能
伊斯兰历转公历换算器可以把伊斯兰历(又称希吉来历,Hijri)中的日期换算成全球通用的公历(格里历)日期。由于伊斯兰历的推算并没有一套全球统一公认的方法,本工具特意让你自行选择所采用的具体计算系统——而不同系统得出的结果可能会相差一两天。工具底层基于经过充分验证的 ICU(Unicode 国际化组件)IslamicCalendar 实现,这也正是许多操作系统和软件库所采用的同一套引擎。
需要填写的内容
- 伊斯兰历年份——伊斯兰历的年号,例如 1446 年。
- 伊斯兰历月份——从十二个太阴月中选择:穆哈兰姆月(Muharram)、色法尔月(Safar)、赖比尔·敖外鲁月(Rabi' al-Awwal)、赖比尔·阿色尼月(Rabi' al-Thani)、主马达·敖外鲁月(Jumada al-Awwal)、主马达·阿色尼月(Jumada al-Thani)、赖哲卜月(Rajab)、舍尔邦月(Sha'ban)、莱麦丹月(Ramadan,即斋月)、闪瓦鲁月(Shawwal)、都尔喀尔德月(Dhu al-Qi'dah)和都尔黑哲月(Dhu al-Hijjah)。
- 伊斯兰历日期——当月的第几天,范围为 1 到 29 或 30。
- 历法系统——四种推算方法之一(详见下文)。
四种历法系统
- 乌姆库拉历(沙特阿拉伯)——沙特阿拉伯的官方民用历法,依据麦加新月的天文计算确定。本工具默认使用此系统。
- 民用历(周五纪元)——采用表算(算术)方式的历法,纪元起点为公元 622 年 7 月 16 日(星期五)。
- 天文历——采用真实月相(基于观测)的计算方式,而非固定的算术对照表。
- 表算历(周四纪元)——同样为算术历法,但纪元起点提前一天,即公元 622 年 7 月 15 日(星期四)。
计算原理
这里并没有什么简单的算术公式。工具内部会创建一个 ICU IslamicCalendar 对象,设定你所选的计算类型,再代入你填写的年份、月份(转换为从 0 开始的索引,因此穆哈兰姆月 = 0)和日期。随后 ICU 会算出该伊斯兰历日期对应的儒略日数(Julian Day Number),并将其转换为相应的公历年、月、日。
实例演示
假设你采用乌姆库拉历,输入1446 年莱麦丹月(第 9 月)第 1 日。换算器会返回大约2025 年 3 月 1 日,也就是当年斋月的开始。如果切换到表算历(周四纪元)系统,结果可能会提前一天——这正是历法系统选择如此重要的原因。
常见问题
为什么同一个伊斯兰历日期会得出不同的公历日期?因为每种系统对每月天数的定义不同——乌姆库拉历和天文历依据月相,而民用历和表算历则使用固定的数学规律,且纪元起点不同。
我应该选哪个系统?如果需要沙特官方日期,请选乌姆库拉历。如果是历史考据或算术换算,则民用历或表算历是常用的标准。
实际观测到的日期还会有出入吗?会的。许多国家以当地肉眼观月为准,宗教节庆日期可能与任何推算历法相差一天。