在上篇文章中,我们介绍了《php日历之儒略日计数如何转换为Unix时间戳》,提到了格利高里历法的日期,但是小编没有介绍,这篇文章我们就来好好介绍一下格利高里历法的日期与儒略日计数相互转换的方法。
在开始本篇文章介绍之前,我们先来了解上篇文章没有介绍的格利高里历法。
公历的标准名称为格里高利历,是现在国际通用的历法,是一种阳历。阳历是太阳历的简称,这种历法与地球环绕太阳的周年运动有关,与月相无关。格里高利历为西方的历法,并非中国所创,故又名 西历 (是相对于中历而言)。
中国从辛亥革命后即自民国元年采用格里高利历,故又名曰国历 。为与中国旧有之历相对称,故又名曰 新历 。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 年)。大部分欧洲国家使用罗马儒略历法(公历)先于格利高里历法。
你想要的php知识都在这里哦→php视频教程