PHP中cal_days_in_month函数和calendar扩展详解

问题:

在开发中无意间发现cal_days_in_month函数不可使用。然后就开始研究学习。

1、cal_days_in_month函数功能用法

  • 功能
    cal_days_in_month — 返回某个历法中某年中某月的天数
  • 用法
    cal_days_in_month ( int $calendar , int $month , int $year ) : int
    
  • 参数
    1. calendar :用来计算的某个历法
    2. month :选定历法中的某月
    3. year :选定历法中的某年
  • 返回值
    指定历法中选定的某月的天数。

2、cal_days_in_month为何不能用?

  • Calendar 扩展

    1. Calendar 扩展 PHP 官网简介:

      历法扩展集包括了一系列用于在不同历法间进行转换的函数,它是以Julian Day计数为中介或标准来进行的。Julian Day计数是以公元前的4713年的1月1日为起点的一种计数法。为了在不同历法间进行转换,你首先要转换成Julian Day计数,然后再转换为你所需要的历法。Julian Day计数和Julian历法是非常不同的!

    2. 历法和计数
      Julian Day Count(儒略日计数)与 Julian Calendar(儒略历法) 不是一回事!

      Julian Day计数的更多信息可以参考» http://www.hermetic.ch/cal_stud/jdn.htm
      历法系统的更多信息可以参考» http://www.fourmilab.ch/documents/calendar

  • cal_days_in_monthCalendar 的关系

    要使用本类函数,需要在 编译 PHP 时加上 --enable-calendar
    PHPWindows 版本已内建对此扩展的支持。不需要载入额外的扩展来使用这些函数。

3、Calendar 相关的日历 函数。

注解:点击以下函数,分别跳转到对应的PHP函数手册

  • cal_days_in_month — 返回某个历法中某年中某月的天数
  • cal_from_jd — 转换Julian Day计数到一个支持的历法。
  • cal_info — 返回选定历法的信息
  • cal_to_jd — 从一个支持的历法转变为Julian Day计数。
  • easter_date — 得到指定年份的复活节午夜时的Unix时间戳。
  • easter_days — 得到指定年份的3月21日到复活节之间的天数
  • FrenchToJD — 从一个French Republican历法的日期得到Julian Day计数。
  • GregorianToJD — 转变一个Gregorian历法日期到Julian Day计数
  • JDDayOfWeek — 返回星期的日期
  • JDMonthName — 返回月份的名称
  • JDToFrench — 转变一个Julian Day计数到French Republican历法的日期
  • JDToGregorian — 转变一个Julian Day计数为Gregorian历法日期
  • jdtojewish — 转换一个julian天数为Jewish历法的日期
  • JDToJulian — 转变一个Julian Day计数到Julian历法的日期
  • jdtounix — 转变Julian Day计数为一个Unix时间戳
  • JewishToJD — 转变一个Jewish历法的日期为一个Julian Day计数
  • JulianToJD — 转变一个Julian历法的日期为Julian Day计数
  • unixtojd — 转变Unix时间戳为Julian Day计数

4、Calendar` 预定义常量

此扩展编译入 PHP 或在运行时动态载入时可用

  • 日历历法标记

    常量名 说明
    CAL_GREGORIAN 0 格里高利历/公历/阳历
    CAL_JULIAN 1 儒略历
    CAL_JEWISH 2 犹太历
    CAL_FRENCH 3 法国共和历,Gregorian历法的1792年9月22日到1806年9月22日
  • 星期格式标记

    常量名 说明
    CAL_DOW_DAYNO 0 数字格式的星期,0=Sunday,1=Monday…
    CAL_DOW_LONG 1 英文简写的星期,Sun=Sunday,Mon=Monday…
    CAL_DOW_SHORT 2 英文全称的星期
  • 月份格式标记

    常量名 说明
    CAL_MONTH_GREGORIAN_SHORT 0 格里高利历简写
    CAL_MONTH_GREGORIAN_LONG 1 格里高利历全称
    CAL_MONTH_JULIAN_SHORT 2 儒略历简写
    CAL_MONTH_JULIAN_LONG 3 儒略历全称
    CAL_MONTH_JEWISH 4 犹太历
    CAL_MONTH_FRENCH 5 法国共和历
  • 复活节计算历法标记

    常量名 说明
    CAL_EASTER_DEFAULT 0 PHP4.3起,1753年之前使用儒略历,1753年开始使用格里高利历
    CAL_EASTER_ROMAN 1 PHP4.3起,1583年之前使用儒略历,1583年开始使用格里高利历
    CAL_EASTER_ALWAYS_GREGORIAN 2 PHP4.3起,始终使用格里高利历
    CAL_EASTER_ALWAYS_JULIAN 3 PHP4.3起,始终使用儒略历
  • 犹太历格式标记

    常量名 说明
    CAL_JEWISH_ADD_ALAFIM_GERESH 2 PHP5.0起,jdtojewish函数转换时希伯来语的格式。
    CAL_JEWISH_ADD_ALAFIM 4 PHP5.0起,jdtojewish函数转换时希伯来语的格式。
    CAL_JEWISH_ADD_GERESHAYIM 8 PHP5.0起,jdtojewish函数转换时希伯来语的格式。

5、替代cal_days_in_month函数

当系统函数不支持的时候,可以尝试用php自带的函数实现不支持的函数功能。

$dayCount = date("t",strtotime("2018-01"));

PHP中cal_days_in_month函数和calendar扩展详解相关推荐

  1. python中tile的用法_python3中numpy函数tile的用法详解

    tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组.比如tile(A,n),功能是将数组A重复n次,构成一个新的数组,我们还是使用具体的例子来说明问题 ...

  2. python scatter参数详解_Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  3. Sklearn中predict_proba函数用法及原理详解

    Sklearn中predict_proba函数用法及原理详解(以logistic回归为例) 网上对predict_proba的数学原理解释的太少了,也不明确,特意总结一下,并给出有些不能用该方法的原因 ...

  4. python scatter参数详解_Python 中 scatter 函数参数及用法详解

    Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...

  5. c语言中sign的用法,Excel教程中sign函数用法和实例详解

    第一,sign函数用法说明 excel教程中sign函数用于返回数字的符号.正数为1,零为0,负数为-1. sign函数语法:SIGN(number) SIGN符号函数(一般用sign(x)表示)是很 ...

  6. findmid函数c语言,excel find函数用法_excel中mid函数的用法教程详解

    [www.gpsvo.com--管理学] Excel中经常需要使用到mid函数进行截取数据,mid函数具体该如何使用操作呢?下面是由小编分享的excel中mid函数的用法,以供大家阅读和学习. exc ...

  7. c语言 product,product函数_Excel中product函数的使用教程详解

    Excel中的product函数是用来计算各参数的乘积的,在数学公式里,我们会经常用到.下面小编教你在Excel中product函数的使用方法,希望对你有帮助! Excel中product函数的使用方 ...

  8. C++中友元函数,友元类数详解

    C++控制对类对象私有部分的访问,为了适应的编程问题,所以在C++中提供了特定的访问权限:友元. 友元分为3中即: 1:友元函数: 2:友元类: 3:友元成员函数. 一.友元函数 定义:有一类特殊的非 ...

  9. Python中sorted()函数的高级用法详解

    sorted()函数的作用是对对象进行排序 函数函数格式: sorted(iterable,key,reverse),key参数可传入一个自定义函数 下边通过具体例子说明sorted的具体用法: 一维 ...

最新文章

  1. linux_Nginx日志
  2. mysql 亿级_mysql 亿级数据量 ( sum ,group by )的优化
  3. GZFramwork快速开发框架演练之会员系统(四)添加商品管理
  4. WIN10系统如何取消任务栏处的窗口缩略图
  5. Musical Theme pku1743 (后缀数组)
  6. python FIFO命名管道
  7. elementUI中复选框checkbox的使用
  8. 拓端tecdat|stata对包含协变量的模型进行缺失值多重插补分析
  9. Ubuntu下安装Chrome浏览器的方法
  10. 【CPLEX】Java调用CPLEX的一些小笔记
  11. matlab legend下划线,MATLAB 画图 legend
  12. python rgb565_读取RGB565格式的图像
  13. 编写WPF应用程序实现以下功能:定义一个RandomHelp类,该类提供一个静态的GetIntRandomNumber方法,一个静态的GetDoubleRandomNumber方法。
  14. java setpriority_Java Thread setPriority()方法
  15. 字符串匹配算法 之 Aho-Corasick
  16. 关于数据科学的十本好书
  17. 风影ASP.NET基础教学 10 DetilsView
  18. 跌倒综述 Deep Learning Based Systems Developed for Fall Detection A Review
  19. 记应聘:华为 可信理论、技术与工程实验室 产品数据工程师
  20. 股票权证是什么意思?正股和权证是什么意思?

热门文章

  1. 基础篇07—一文掌握css的盒子模型(margin、padding)
  2. Ubuntu 无法连接xshell的问题
  3. OSI七层模型中各层协议及作用
  4. Vue自定义指令介绍
  5. 移动智能网期末考知识点整理
  6. three.js-打造VR看房 快速掌握3D开发
  7. java flowable_Flowable流程引擎入门
  8. python和Pycharm的安装、使用踩坑-用于提取网页的文字
  9. 大数据面试题及答案(超详细)
  10. linux管理员默认名,administrator怎么改名字?administrator默认密码是多少