当前位置:首页 > 技术心得 > 正文内容

回历与公历换算

xjtudll13年前 (2013-07-03)技术心得60820

伊斯兰教历以希吉来为纪元,“希吉来”是阿拉伯语“迁移”一词的音译,系指公元622年9月24日穆罕默德率众由麦加迁往麦地那之事。为使公历纪年元旦与阿拉伯太阴历纪年(以月亮绕地球一周而又与太阳相会,为一个月)岁首相合,特定儒略历622年7月16日(公历622年7月19日,将月日都以单位年表示,这一天则为“公历622.547.9年”)为伊斯兰教历元年1月1日。

伊斯兰教历属于阴历,全年只12个朔望月,每月29日12时44分3秒。不增置闰月,约三年有一个闰日,闰年355日;平年354日。在中国,伊斯兰教历俗称为“回历”,回历的月份以见新月为月首。

公历历年的平均长度为365.2425日,而回历历年的平均长度为354.3667日,1回历年相当于0.970223公历年。相比公历,回历每年少11日,公历的32年相当于回历的33年左右。

任何一年回历的元旦所对应的公历日期,可用下式求得:

公历日期=0.970223×(回历纪年-1)+ 622.5479

所得整数即为该年的公历纪年,以小数乘以公历年长365.2425日,再将所得日数化成该公历年的月日,便可得该回历年元旦所对应的公历日期。

例如,据此公式计算出:

① 回历1407年元旦,对应公历1986年9月6日;

② 求回历1420年5月10日所对应的公历日期,首先算出回历1420年元旦是公历1999年4月17日,接下来累计回历5月10日的积日(1月30日+二月29日+三月30日+四月29日+10日=128 日),128日-1(元旦)=127日,从公历1999年4月17日之后再加107日,便知回历1420年5月10日对应公历1999年8月22日;

③ 回历1430年1月1日,对应公历2008年12月29日(农历戊子年十二月初三)

注意:这个算法可能会有一天的误差,即有可能转换的日期多了或少了一天。用这个算法,还需要通过星期来校验,因为星期几是唯一的。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/274/

标签: 万年历
分享给朋友:

“回历与公历换算” 的相关文章

如何扩展SyntaxHighlighter

    在做这个工作之前,你需要对JavaScript有比较深入的了解,尤其需要熟悉正则表达式。如果网络已经存在你需要拓展的加亮库,那就不用自己搞了,直接选用。另外,如果你需要拓展的语言跟已经存在的加亮库类似,那么可以修改它。比如,C51是在C上扩展而成,所以我们可以选...

xcopy用法中的排除复制

利用xcopy进行排除复制 xcopy /e /s /h /exclude:uncopy.txt  mail  mail_x mail为源文件夹,mail_x为目标文件夹 uncopy.txt(所要排除的文件以及文件夹关键字)如:内容如下,表示排除文件夹或文件名中含有以下字眼的内...

Keil优化导致代码出错

Keil优化导致代码出错

Keil在优化代码的时候,对于一些隐式调用,会出错的。 例如(以下例子来源于参考资料): 你在ROM的0x00002000处定位了一个函数,假设为void test(void),然后使用函数指针来调用它: void (*UserProgram)();    &...

QQ域名邮箱MX设置

前段时间,QQ有了个域名邮箱,于是我立马开通了,设置过程很简单,首先在QQ邮箱界面激活域名邮箱功能,然后进入设置界面验证域名。通过验证后,进入域名控制面板设置MX。腾讯提示2-24小时就可以生效了,但我一直等到超过24小时还是未生效。于是只好搜索网络。腾讯帮助里面是这话说的:为什么我的MX记录设置验...

tenx(十速)TM87系列常用宏(二)

tenx(十速)TM87系列常用宏(二) 接上篇:http://xjtudll.cn/Exp/42/5、位操作⑴ 位清零;BIT清零 RAM 00~6FH 70~7FH也可用,但是浪费了两条语句        ...

IAR STM8 #pragma optimize 指令

IAR STM8 #pragma optimize 指令

参考资料:http://blog.csdn.net/niepangu/article/details/38066319 #pragma optimize= none  //one of none, low, medium, high, size, or speed放在被优化函数前 ...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。