什么是伊斯兰历转公历换算器?
这款工具可以把伊斯兰历(希吉来历,Hijri)中的某个日期换算成对应的公历(西历,Gregorian)日期。它采用的是算术历法,也就是"表格法"伊斯兰历,而非依靠天文观测新月的历法,因此计算出来的日期可能与宗教实际遵循的日期相差正负一天。伊斯兰历是纯阴历,全年 12 个月:平年共 354 天,闰年为 355 天。伊斯兰历的一天从公历前一天的日落时分开始,所以这里显示的公历日期对应的是白天的部分。这种换算方式是通用的,不针对任何特定国家。
使用方法
先选择历法类型(标准、科威特或法蒂玛),三者在 30 年周期内所采用的闰年规则略有不同。接着选择起始的希吉来历月份,并输入以 AH(伊斯兰历纪年)表示的年份。然后选择要换算的时间长度:一个月、两个月、半年或整整一年。计算结果会显示公历起始日期(所选月份的第 1 天)、公历结束日期(最后一个月的最后一天)、总天数,以及一份按月份逐一对照的表格。
计算公式
首先将希吉来历日期转换为儒略日数(JDN):
$$\text{JDN} = \text{日} + \left\lceil 29.5 \times (\text{月} - 1) \right\rceil + (\text{年} - 1) \times 354 + \text{leapDaysBefore}(\text{年}) + \text{EPOCH} - 1$$其中 \(\text{EPOCH} = 1948440\)。随后再用 Fliegel–Van Flandern 算法把 JDN 映射为公历日期。每个 30 年周期包含 11 个闰年,合计 10631 天。
实例演算
换算伊斯兰历 1447 年赖买丹月(斋月)1 日(标准历法)。\(\left\lceil 29.5 \times 8 \right\rceil = 236\);\(1446 \times 354 = 511884\);此前的闰日数 \(= 530\);
$$\text{JDN} = 1 + 236 + 511884 + 530 + 1948440 - 1 = 2461090$$对应公历 2026 年 2 月 18 日。赖买丹月有 30 天,因此该时段结束于 2026 年 3 月 19 日。
常见问题
为什么日期可能相差一天? 表格历法完全基于算术推算;而通过日落后观测新月来确认新月份的宗教权威,可能报告的日期会提前或推后一天。
应该选择哪种历法类型? 标准历法(表格法第 II 型)最为常用;科威特历法与微软(Microsoft)算法一致;法蒂玛历法则遵循伊斯玛仪派波赫拉(Bohra)的规则。
能换算公元伊斯兰历 1 年(1 AH)之前的年份吗? 不能——换算器要求输入正的希吉来历年份,因为更早的年份会超出历法纪元起点之前,无法外推。