讲解php日历之格利高里历法的日期与儒略日计数如何相互转换

公历的标准名称为格里高利历,是现在国际通用的历法,是一种阳历。阳历是太阳历的简称,这种历法与地球环绕太阳的周年运动有关,与月相无关。格里高利历为西方的历法,并非中国所创,故又名 西历 (是相对于中历而言)。

中国从辛亥革命后即自民国元年采用格里高利历,故又名曰国历 。为与中国旧有之历相对称,故又名曰 新历 。1949年正式规定采用公元纪年。公历的前身是古罗马凯撒修订的儒略历。根据儒略历的规定,每4年有1个闰年,闰年为366日,其余3年(称为平年)各有365日。公元年数能被4整除的是闰年。儒略历1年平均长365.25日,比实际公转周期的365.2422日长11分14秒,即每400年约长3日。

格利高里历法我们已经了解了,是时候该开始本篇文章的介绍。

不可避免的,我们还是以一个小案例开头。

已知一个格利高里历法为2018年7月25的日期,现在需要将它转换成儒略日计数,该如何转换?同理已知一个儒略日计数为2455643的数字,它所对应的格利高里历法日期是什么?

<?php
$jd=gregoriantojd(9,25,2016);
echo $jd . "<br>";
$gr=jdtogregorian(2455643);
echo $gr;
?>

它的结果是

2457657
3/22/2011

我们可以观察一下上面的例子,可以看到把儒略日计数转换为格利高里历法的日期的函数是jdtogregorian();把格利高里历法的日期转换为儒略日计数的函数是gregoriantojd()。

接下来我们就来详细介绍一下这两个函数。

gregoriantojd()函数

gregoriantojd(月份,日期,年份);

gregoriantojd() 函数把格利高里历法的日期转换为儒略日计数。

jdtogregorian()函数

jdtogregorian(以儒略日计数的数字);

jdtogregorian() 函数把儒略日计数转换为格利高里历法的日期。

需要注意的是:尽管该函数可处理 4714 B.C. 之前的日期,您还是要注意格利高里历法在 1582 年才建立,一些国家甚至更晚才接受它(大不列颠在 1752 年,苏联在 1918 年,希腊在 1923 年)。大部分欧洲国家使用罗马儒略历法(公历)先于格利高里历法。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容