我正在使用PHP 5.3.6,当我尝试运行下面的代码时,我收到以下错误:“ 致命错误:在......“。
中的非对象上调用成员函数format()function diferenta_date($data_inceput, $data_sfarsit){
$interval = date_diff(date_create($data_inceput), date_create($data_sfarsit));
$output = $interval->format("Years:%Y,Months:%M,Days:%d,Hours:%H,Minutes:%i,Seconds:%s");
$return_output = array();
array_walk(explode(',', $output), function($val, $key) use(&$return_output) {
$v = explode(':', $val);
$return_output[$v[0]] = $v[1];
});
return $return_output;
}
怎么了?
答案 0 :(得分:1)
您需要检查返回值。 The documentation says date_diff()返回:
DateInterval对象表示两个日期之间的差异,或失败时为FALSE 。
date_diff()失败,您尝试将FALSE用作对象。