这个cal_days_in_month()
在PHP 5.2.11版本中不起作用
$days_in_month = cal_days_in_month(0,$month,$year);
答案 0 :(得分:21)
尝试
date('t', mktime(0, 0, 0, $month, 1, $year));
我在互联网上发现需要PHP才能使用日历支持进行编译。
“使用”--enable-calendar“选项重新编译php。”
答案 1 :(得分:0)
在docker容器中(基于图像for (int i = 0; i < n; ++i)
count += (x==y);
)具有相同的问题,在php:7.4-apache-buster
中添加以下行解决了该问题:
Dockerfile
答案 2 :(得分:-1)
您需要提供日历:
int cal_days_in_month ( int $calendar , int $month , int $year )
像:
$month_length = cal_days_in_month(CAL_GREGORIAN, $month, $year);
你可能会把它与cal_info ([ int $calendar = -1 ] )
混淆
它代表日历:
0 or CAL_GREGORIAN - Gregorian Calendar
1 or CAL_JULIAN - Julian Calendar
2 or CAL_JEWISH - Jewish Calendar
3 or CAL_FRENCH - French Revolutionary Calendar
答案 3 :(得分:-3)
因为语法是:
$days_in_month = cal_days_in_month(CALENDAR,$month,$year);
像这样:
$days = cal_days_in_month(CAL_GREGORIAN, 2, 2012);