Calendar是一套关于日期历法的扩展,在PHP中要如何使用该Calendar扩展?本篇文章给大家介绍一下Calendar 扩展安装和使用方法。
Calendar是一套关于日期历法的扩展,但是对于我们来说,它没有农历的相关操作,所以对于我们中国人来说这个扩展并没有什么实际的作用。不过这并不妨碍我们去了解学习它。
日期历法类型
对于正常情况下的日期操作来说,PHP 默认使用的是 UTC 时间,也就是国际标准时间,对于我们国家来说,需要在标准 UTC 的时间上加 8 来表示北京时间东八区。当然,也可以直接修改 php.ini 或者数据库中的时区相关参数来定义好日期时区。
标准时区对应的其实就是格里高利时间历法 Gregorian 。也就是我们现在最常用的公历、阳历日期。Calendar 扩展中除了这个标准的公历历法之外,还支持 犹太历法 Jewish 、 法历 French 以及另一个非常出名的 儒略历 Julian 。我们的 Gregorian 历法就是从 Julian 历中演化而来的,它们的差距并不大,但 犹太历 和 法历 的差距就比较大了,一会在下面的代码中我们将看到各种历法之间的差别。
关于这些历法的具体内容大家可以自行查询一下相关的资料,也能够学习到一些有趣的历史知识,比如为什么废弃了 儒略历 而将公历定为了 格里历 。还有 法历 为什么只有短短的那些年,犹太历 为什么年份记得这么大了。法历 和 犹太历 月份名字的来源等,都是很有趣的故事。
Calendar 扩展安装及历法信息查看
Calendar 扩展已经集成在 PHP 安装包中了,不需要特别的单独去安装。如果你无法使用 Calendar 相关的函数,可以重新编译 PHP 并加上 –enable-calendar 参数即可。
接下来我们看下指定历法的详细信息,这里我们指定的是 犹太历 。
$info = cal_info(2); print_r($info); // Array // ( // [months] => Array // ( // [1] => Tishri // [2] => Heshvan // [3] => Kislev // [4] => Tevet // [5] => Shevat // [6] => Adar I // [7] => Adar II // [8] => Nisan // [9] => Iyyar // [10] => Sivan // [11] => Tammuz // [12] => Av // [13] => Elul // ) // [abbrevmonths] => Array // ( // [1] => Tishri // [2] => Heshvan // [3] => Kislev // [4] => Tevet // <mark>(本文来)源gaodaimacom搞#^代%!码&网(</mark><pre>搞gaodaima代码
[5] => Shevat
// [6] => Adar I
// [7] => Adar II
// [8] => Nisan
// [9] => Iyyar
// [10] => Sivan
// [11] => Tammuz
// [12] => Av
// [13] => Elul
// )
// [maxdaysinmonth] => 30
// [calname] => Jewish
// [calsymbol] => CAL_JEWISH
// )
cal_info() 函数接收的参数是一个常量,分别是 CAL_GREGORIAN ,CAL_JULIAN ,CAL_JEWISH ,CAL_FRENCH ,它们对应的数字就是 0,1,2,3 。在这段代码中,我们返回的就是 CAL_JEWISH 的信息。可以看出,犹太历 中的月份名称与公历中的英文名称都不一样,比如这里有 尼撒月 Nisan 、提市黎月 Tishri 。具体的内容就不深究了,毕竟我们在日常生活中是完全接触不到这种历法的。
大家可以自己试试其它历法返回的信息内容,公历和儒略历是一样的,法历中的月份名字就又不一样了,而且这些名字还都很有意思。