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

回历与公历换算

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

伊斯兰教历以希吉来为纪元,“希吉来”是阿拉伯语“迁移”一词的音译,系指公元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/

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

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

vs2012 与 win7 不兼容的问题

vs2012 与 win7 不兼容的问题

问题描述:安装VS2012后,打开提示与此版本的 Windows 不兼容 如下图: 一开始以为是VS2010不能安装在Win7 64bit上,后来发现有个补丁,安装好之后,就能使用了。 Update for Microsoft Visual Studio 2012 (KB2781514) http...

如何备份iOS4.2.1SHSH文件

如何备份iOS4.2.1SHSH文件

本教程指导大家如何备份iOS4.2.1的SHSH文件,使用工具为TinyUmbrella4.21.02,支持全系列的iPhone4,iPhone3GS,iPhone3G,iPod Touch4G,iPod Touch3G,iPod Touch2G和iPad。 没有越狱的用户或者还没有升级iOS4....

远程连接:发生身份验证错误 要求的函数不受支持

远程连接:发生身份验证错误 要求的函数不受支持

问题: 远程连接失败,提示:发生身份验证错误 要求的函数不受支持 操作系统: Win7 64bit 原因:打了系统补丁,权限被限制了,需要修改客户端电脑相关权限。 解决过程如下: 双击“加密Oracle修正“ 然后重新打开远程登录客户端就可以登录了。...

BOS自定义单据对应模块后台查找

bos数据大量更改新增之后,会出现数据存放位置忘记的情况,下面为单据及单据转换后台查询对应模块的语句,如有需要可参考查询--自定义单据忘记存放在哪个模块可使用以下语句进行查询SELECT it.FID,it.FFunctionID as FSubSysID,it.FNa...

TM87系列Mask Option

TM87系列Mask Option

1 Power Source 电源来源 A:...

TM87&TM89烧录

TM87&TM89烧录

一、如何查询TM87&TM89烧录引脚通过TWR98烧录软件,我们可以查询到相关IC的烧录引脚以及与烧录器的连接方式。TWR98的详细使用方法,可以参考《UM-TWR98_SV12.pdf》1、打开TWR98烧录软件2、点【Device】,选IC型号若要支持更多的IC型号,应确保TWR98烧...

发表评论

访客

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