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 日历参考