📜  PHP | cal_from_jd()函数(1)

📅  最后修改于: 2023-12-03 15:18:21.709000             🧑  作者: Mango

PHP | cal_from_jd()函数

简介

cal_from_jd()函数是PHP日期和时间函数中的一员,它用于将Julian日转换为格里高利历或儒略历。Julian日是一种简单的连续日历,它从公元前4713年1月1日正午(儒略历)开始,以天为单位进行计数。

该函数在日期计算和转换中非常有用,尤其是当需要考虑历史时,例如在历史事件的日期和时间计算中。

语法
cal_from_jd( $jd, $calendar )
参数说明
  • $jd:Julian日数,必须指定。
  • $calendar:指定返回的历法方式,可选参数,默认为0,表示返回格里高利历。如果传入1,则返回儒略历。
返回值

该函数将返回一个数组,包含转换后的日期。如果发生错误,返回false。

数组结构如下:

Array
(
    [date] => // 转换后的日期,格式为 "Y-m-d"
    [year] => // 转换后的年份,以4位数字表示
    [month] => // 转换后的月份,1~12表示1月到12月
    [day] => // 转换后的日期,1~31表示1日到31日
    [dow] => // 转换后的星期几,0~6表示周日到周六
    [abbrevdayname] => // 转换后的星期几的缩写,例如 "Sun"
    [dayname] => // 转换后的星期几的全称,例如 "Sunday"
    [abbrevmonthname] => // 转换后的月份的缩写,例如 "Jan"
    [monthname] => // 转换后的月份的全称,例如 "January"
)
示例
<?php
$jd = 2459278.5; // 2019-10-27 12:00:00
$calendar = 0; // 格里高利历
$result = cal_from_jd( $jd, $calendar );

if( $result ){
    echo "转换后的日期为:" . $result['date'] . "\n";
    echo "转换后的星期几为:" . $result['dayname'];
}else{
    echo "发生错误!";
}
?>

输出结果:

转换后的日期为:2019-10-27
转换后的星期几为:Sunday
注意事项
  • $jd参数必须为浮点数,表示从儒略日开始的天数,以12小时为单位。
  • $calendar参数为可选参数,默认为0,表示使用格里高利历。如果需要使用儒略历,应该传入1。
  • 转换后的日期默认为格林威治标准时间(GMT),如果需要转换为本地时间,需要使用PHP的date()函数进行转换。
参考资料