📜  PHP | cal_days_in_month( )函数(1)

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

PHP | cal_days_in_month( )函数

在日常的开发中,我们需要经常处理日期相关的问题,比如计算某年某月有多少天。针对这种问题,PHP中提供了 cal_days_in_month() 函数,可以根据指定的年份和月份,返回该月的天数。

语法
cal_days_in_month($calendar, $month, $year);

其中,$calendar 参数是一个可选参数,表示要使用的日历系统,可以选用 CAL_GREGORIANCAL_JULIANCAL_JEWISHCAL_FRENCHCAL_NUM_CALS 等常量之一。默认值为 CAL_GREGORIAN,即格里高利历。

$month 参数表示月份,取值范围为1至12。需要注意的是,如果指定的月份不合法(比如13),函数会自动进行月份的调整,所以不用担心传入错误的月份会导致出错的问题。

$year 参数表示年份,可以是一个整数,也可以是一个使用四位数字表示的字符串,比如 "2022"。

函数返回指定月份在指定日历下的天数,如果出错,则返回 false

示例
// 获取2022年3月的天数
$days = cal_days_in_month(CAL_GREGORIAN, 3, 2022);
echo "2022年3月有 {$days} 天。";

// 获取2019年2月(非闰年)的天数
$days = cal_days_in_month(CAL_GREGORIAN, 2, "2019");
echo "2019年2月有 {$days} 天。";

输出结果如下:

2022年3月有 31 天。
2019年2月有 28 天。
注意事项
  • 在使用 cal_days_in_month() 函数的时候,需要注意月份的范围不能超出1至12之间。
  • 如果要获取当前月份的天数,可以使用 date('t') 函数来实现,比如 date('t', strtotime('2022-03-01')) 将返回2022年3月的天数。
  • cal_days_in_month() 函数的返回值和闰年和平年的月份天数一致,因此不需要考虑闰年的特别情况。