0

我正在使用 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;
}

怎么了?

4

1 回答 1

1

您需要检查返回值。 文档说date_diff() 返回:

表示两个日期之间的差异的 DateInterval 对象,如果失败则为 FALSE

date_diff() 失败,您正在尝试使用 FALSE 作为对象。

于 2013-07-29T13:51:54.783 回答