Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php cal_days_in_month()[function.cal days in month]:无效日期_Php - Fatal编程技术网

Php cal_days_in_month()[function.cal days in month]:无效日期

Php cal_days_in_month()[function.cal days in month]:无效日期,php,Php,我想计算一个月的天数。出现以下警告: cal_days_in_month() [function.cal-days-in-month]: invalid date. 有人能帮我吗 $numberofday = new DateTime($month); $numberofday = cal_days_in_month(CAL_GREGORIAN, $month,$year1); $Total=$length x 24 x $numberofday ; cal\u days\u in\

我想计算一个月的天数。出现以下警告:

cal_days_in_month() [function.cal-days-in-month]: invalid date. 
有人能帮我吗

$numberofday = new DateTime($month);
$numberofday = cal_days_in_month(CAL_GREGORIAN, $month,$year1);
$Total=$length  x 24  x $numberofday ; 
cal\u days\u in\u month()
接受月份字段的整数值,请将月份转换为整数:

$month = "april";
$year1 = "2013";
$month = date('m', strtotime($month));
在使用该函数之前

$numberofday = cal_days_in_month(CAL_GREGORIAN, $month, $year1);
月内校准天数的备选方案:

$month = "april";
$year1 = "2013";
$numberofday = date('t', strtotime("$year1-" . date("m",strtotime($month)) . "-01"));
此外:

应该是:

$Total=$length * 24 * $numberofday;

您有'length',应该是$length吗?

$month=4

$year1=2013年

$numberofday=cal_天数(cal_GREGORIAN,$month,$year1)


echo$numberofday//30

每月$1和每年$1的价值是多少?您可以尝试使用静态值查看它是否仍然有错误吗?cal_days_in_month的第二个参数接受整数值。请先将月份的字符串值转换为整数,然后再将其传递给函数。有没有其他方法可以在不转换字符串值的情况下计算numberofday?您可以使用
$numberofday=cal_days\u in_month(cal_GREGORIAN,date('m',StrotTime($month)),$year1)如果你想的话。它仍然不起作用(错误是什么?它仍然来自
cal_days\u in_month()
?是的。仍然出现警告。我添加了另一个选项,
$numberofday=date('t',strotime($year1-$month-01”);
试试看它是否有效。我使用了$numberofday=date('t',strotime($year1-$month-01)),但它返回的天数是apr=31)。
$Total=$length * 24 * $numberofday;