首頁 >後端開發 >PHP問題 >php日曆之格利高里曆法的日期與儒略日計數如何相互轉換

php日曆之格利高里曆法的日期與儒略日計數如何相互轉換

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-07-28 16:23:522714瀏覽

在上篇文章中,我們介紹了《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影片教學

以上是php日曆之格利高里曆法的日期與儒略日計數如何相互轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn