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

回历与公历换算

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

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

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

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

VS2010:此项目与Visual Studio的当前版本不兼容

VS2010:此项目与Visual Studio的当前版本不兼容

问题: 网上下载了一个C#工程,是用VS2013开发的,但是本地只有VS2010。打开后提示:此项目与Visual Studio的当前版本不兼容 解决办法: 1、用记事本打开解决方案文件“解决方案名.sln”,然后修改最上面两行为如下代码: Microsoft...

51串口通信

51串口通信

大学的时候,练习串口通信整的东东图太大,显示不正常。请直接看原图。upload/2010/1/201001291823133003.jpg演示如图: 左边的单片机:发送  查询方式右边的单片机:接收    中断方式K1:LED1亮;K2:LED2亮;...

BL51: WARNING L13 (RECURSIVE CALL TO SEGMENT) WITH CONSTANTS 解决

问题描述:   将函数名存储在table里,通过函数指针的方式调用函数。 编译提示: BL51: WARNING L13 (RECURSIVE CALL TO SEGMENT) WITH CONSTANTS 使用环境: C51 Version 7.00 代码例程(使用Keil官方资料来说...

金蝶K3:自定义的万能报表位置

金蝶K3:自定义的万能报表位置

场景:客户再【会计总账管理系统】开发了一个万能报表【AAA】 后来因工作交接或者某些原因忘记这个AAA报表放在哪个子系统下了,由于K3子系统非常多,要逐个切换子系统来找自己建立的万能报表再哪里;非常麻烦:使用下面这段脚本查询:select b.FName,* from t_UserDefineRpt...

Word中如何删除多余空格

Word中如何删除多余空格

从网上copy的文章经常会出现多余的空格,手动删除的话工作量极大,如何方便的去除这些多余的空格呢?灵活运用word自带的查找和替换功能即可。 1、删除中文汉字(非数字和字母)后的一个空格 在【查找内容】栏填入:([!0-z\ ])\  《==此处有一空格!!! 在【替换为】栏填入:\...

Word表格显示/隐藏虚框

Word表格显示/隐藏虚框

Word里,可以将表格的某些行(列)的边框线设置为“无”,但是在编辑界面,还是可以看到边框线的,只是颜色显示为灰色。如果想让那些设置为“无”了的边框线确实不显示,点击“隐藏虚框”就可以了。 这个操作说起来简单,但是得找到在菜单在...

发表评论

访客

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