PHP 日历函数

PHP gregoriantojd() 函数将公历日期转换为儒略日计数。公历的有效范围是从公元前 4714 年 11 月 25 日开始。至少到公元 9999 年 12 月 31 日。

尽管此函数可以处理一直追溯到公元前 4714 年的日期,但这样的使用可能没有意义。公历直到 1582 年 10 月 15 日才开始制定(儒略历为 1582 年 10 月 5 日)。有些国家直到很久以后才接受它。例如,英国于 1752 年皈依,苏联于 1918 年皈依,希腊于 1923 年皈依。大多数欧洲国家在公历之前使用儒略历。

语法

gregoriantojd(month, day, year)

参数

month 必填。 将月份指定为 1(一月)到 12(12 月)之间的数字。
day 必填。 将日期指定为 1 到 31 之间的数字。如果该月的天数少于给定的天数,则会发生溢出。
year 必填。 将年份指定为 -4714 到 9999 之间的数字。负数表示公元前年,正数表示公元年。请注意,没有年份 0;公元前 1 年 12 月 31 日紧接着是公元 1 年 1 月 1 日。

返回值

返回给定公历日期的儒略日计数。超出有效范围的日期返回 0。

异常

不适用。

示例:

下面的示例显示了 gregoriantojd() 函数。

<?php
//转换公历日期
//转为儒略整数
$jd = gregoriantojd(10, 2, 2015);
  
//显示儒略日整数
echo "The Julian day integer is: $jd \n";
  
//转换儒略日整数
//转为公历日期
$date = jdtogregorian($jd);
  
//显示公历日期
echo "The Gregorian date is: $date \n"; 
?>

上述代码的输出将是:

The Julian day integer is: 2457298 
The Gregorian date is: 10/2/2015 

示例:溢出行为

再考虑一个示例来查看该函数的溢出行为。

<?php
//转换无效的公历
//日期转儒略整数
$jd = gregoriantojd(15, 2, 2018);
  
//打印 0,因为月份超出范围
echo "The Julian day integer is: $jd \n";
  
//转换儒略日整数
//转为公历日期
$date = jdtogregorian($jd);
  
//将 0/0/0 打印为公历
//月份超出范围
echo "The Gregorian date is: $date \n"; 
?>

上述代码的输出将是:

The Julian day integer is: 0 
The Gregorian date is: 0/0/0 

❮ PHP 日历参考