日历扩展包含许多函数来简化不同日历格式之间的转换。它所基于的中介或标准是儒略日计数。儒略日计数是从公元前 4713 年 1 月 1 日开始计算的天数。要在日历系统之间进行转换,您必须首先转换为儒略日计数,然后转换为您选择的日历系统。

安装

要使这些功能正常工作,您必须编译 PHP与 --enable-calendar。

Windows 版本的 PHP 内置对此扩展的支持。

运行时配置

此扩展没有配置指令定义在 php.ini 中。

PHP 日历函数

函数描述
cal_days_in_month()返回给定年份和日历的一个月中的天数。
cal_from_jd()从儒略日计数转换为支持的日历。
cal_info()返回有关特定日历的信息。
cal_to_jd()从受支持的日历转换为儒略日计数。
easter_date()获取午夜的 Unix 时间戳指定年份的复活节。
easter_days()获取给定年份中复活节所在的 3 月 21 日之后的天数。
frenchtojd()将日期从法国共和历转换为儒略日计数。
gregoriantojd()将公历日期转换为儒略日计数。
jddayofweek()返回星期几。
jdmonthname()返回月份名称。
jdtofrench()将儒略日计数转换为法语共和党日历。
jdtogregorian()将儒略日计数转换为公历日期。
jdtojewish()将儒略日计数转换为犹太历日期。
jdtojulian ()将儒略日计数转换为儒略历日期。
jdtounix()将儒略日转换为 Unix 时间戳。
jewishtojd()将犹太历中的日期转换为儒略日计数。
juliantojd()将儒略历日期转换为儒略日计数。
unixtojd()将 Unix 时间戳转换为儒略日。

PHP 日历预定义常量

以下常量由此扩展定义,并且仅在扩展扩展被编译后才可用到 PHP 中或在运行时动态加载。

常量类型描述
CAL_EASTER_DEFAULT整数对于easter_days():计算复活节1753 年之前的年份按照儒略历,之后的年份按照公历。
CAL_EASTER_ROMAN整数对于 easter_days():根据儒略历计算 1583 年之前的复活节,以及根据公历计算 1583 年之后的复活节日历。
CAL_EASTER_ALWAYS_GREGORIAN整数对于easter_days():根据公历计算复活节。
CAL_EASTER_ALWAYS_JULIAN整数对于easter_days():根据儒略历计算复活节。
CAL_GREGORIAN整数对于cal_days_in_month(), cal_from_jd(), cal_info()cal_to_jd():使用 Proleptic 公历。
CAL_JULIAN整数对于cal_days_in_month(), cal_from_jd(), cal_info()cal_to_jd() :使用儒略历。
CAL_JEWISH整数对于cal_days_in_month(), cal_from_jd() cal_info()cal_to_jd():使用犹太历。
CAL_FRENCH整数对于 cal_days_in_month()cal_from_jd()cal_info()cal_to_jd():使用法国共和历。
CAL_NUM_CALS整数可用日历的数量。
CAL_JEWISH_ADD_ALAFIM_GERESH整数对于 jdtojewish():在年份数字中添加一个 geresh 符号(类似于单引号)作为千位分隔符。
CAL_JEWISH_ADD_ALAFIM整数对于jdtojewish():将单词 alafim 作为千位分隔符添加到年份数字中。
CAL_JEWISH_ADD_GERESHAYIM整数对于 jdtojewish():在日期和年份数字的最后一个字母之前添加一个 gershayim 符号(类似于双引号)。
CAL_DOW_DAYNO整数对于 jddayofweek( ):int 形式的星期几,其中 0 表示星期日,6 表示星期六。
CAL_DOW_SHORT整数对于jddayofweek():星期几的缩写英文名称。
CAL_DOW_LONG整数对于jddayofweek():星期几的英文名称。
CAL_MONTH_GREGORIAN_SHORT整数对于jdmonthname():缩写的公历月份名称。
CAL_MONTH_GREGORIAN_LONG整数对于 jdmonthname():公历月份名称。
CAL_MONTH_JULIAN_SHORT整数对于jdmonthname():缩写的儒略月份名称.
CAL_MONTH_JULIAN_LONG整数对于jdmonthname():儒略月份名称。
CAL_MONTH_JEWISH整数对于 jdmonthname():犹太月份名称。
CAL_MONTH_FRENCH整数对于jdmonthname():法国共和月份名称。