百度上有这个解答,cal_days_in_month()
是PHP内置的一个计算某个月当中天数的函数
由于PHP编译时没有加上--enable-calendar
选项,就会报函数未定义。
用下面这个用法替代cal_days_in_month()
涵数。$dayCount = date("t",strtotime("2020-02"));//计算2月份有多少天
既然是fastadmin
插件,我就直接把代码搬运上来吧。
需要修改/extend/fast/Date.php
文件如下:
注释掉如下代码
$time = $position ? mktime(0, 0, 0, $month + $offset, 1, $year) : mktime(23, 59, 59, $month + $offset, cal_days_in_month(CAL_GREGORIAN, $month + $offset, $year), $year);
替换为
$time = $position ? mktime(0, 0, 0, $month + $offset, 1, $year) : mktime(23, 59, 59, $month + $offset, date("t",strtotime($year."-".($month + $offset))), $year);
注释掉如下代码
$time = $position ?
mktime(0, 0, 0, 1 + ((ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) - 1) * 3, 1, $year) :
mktime(23, 59, 59, (ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3, cal_days_in_month(CAL_GREGORIAN, (ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3, $year), $year);
替换为
$time = $position ?
mktime(0, 0, 0, 1 + ((ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) - 1) * 3, 1, $year) :
mktime(23, 59, 59, (ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3, date("t",strtotime($year."-".(ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3)), $year);
收工。