Home  >  Article  >  Backend Development  >  How to convert Gregorian calendar dates and Julian day counts into each other in PHP calendar

How to convert Gregorian calendar dates and Julian day counts into each other in PHP calendar

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-07-28 16:23:522680browse

In the previous article, we introduced "How to convert the Julian day count of the php calendar to a Unix timestamp" and mentioned the date of the Gregorian calendar, but the editor did not introduce it. In this article, we will introduce the method of converting dates in the Gregorian calendar and Julian day counting.

Before starting the introduction of this article, let us first understand the Gregorian calendar which was not introduced in the previous article.

The standard name of the Gregorian calendar is the Gregorian calendar, which is now the internationally accepted calendar and is a solar calendar. The Gregorian calendar is the abbreviation of the solar calendar. This calendar is related to the annual movement of the earth around the sun and has nothing to do with the phases of the moon. The Gregorian calendar is a Western calendar and was not created by China, so it is also called the Western calendar (relative to the Chinese calendar).

China has adopted the Gregorian calendar since the Revolution of 1911 and the first year of the Republic of China, so it is also called the Gregorian calendar. In order to be consistent with the old Chinese calendar, it is also called the New Calendar. In 1949, the AD calendar was officially adopted. The predecessor of the Gregorian calendar was the Julian calendar revised by Caesar in ancient Rome. According to the provisions of the Julian calendar, there is a leap year every four years, with 366 days in a leap year, and the remaining three years (called ordinary years) each have 365 days. A leap year is a year that is divisible by 4. The average length of a year in the Julian calendar is 365.25 days, which is 11 minutes and 14 seconds longer than the actual revolution period of 365.2422 days, which is about 3 days longer every 400 years.

We have already understood the Gregorian calendar, and it is time to start the introduction of this article.

Inevitably, we still start with a small case.

We know that the date in the Gregorian calendar is July 25, 2018, and now we need to convert it into a Julian day count. How to convert it? Similarly, given a number with a Julian day count of 2455643, what is its corresponding Gregorian calendar date?

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

The result is

2457657
3/22/2011

We can look at the above example and see that the function that converts Julian day counts to dates in the Gregorian calendar is jdtogregorian(); The function that converts Gregorian dates to Julian day counts is gregoriantojd().

Next we will introduce these two functions in detail.

gregoriantojd() function

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

gregoriantojd() function converts Gregorian calendar dates to Julian day counts.

jdtogregorian() function

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

jdtogregorian() function converts the Julian day count to a date in the Gregorian calendar.

Note: Although this function can handle dates before 4714 B.C., you should note that the Gregorian calendar was not established until 1582, so some Countries accepted it even later (Great Britain in 1752, the Soviet Union in 1918, Greece in 1923). Most European countries use the Julian calendar (Gregorian calendar) before the Gregorian calendar.

All the PHP knowledge you want is here→

php video tutorial

The above is the detailed content of How to convert Gregorian calendar dates and Julian day counts into each other in PHP calendar. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn