簡體   English   中英

嘗試使用date_diff()格式化輸出時出現致命錯誤

[英]Fatal error when trying to format output using date_diff()

我使用的是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;
}

怎么了?

您需要檢查返回值。 文檔說 date_diff()返回:

DateInterval對象,表示兩個日期之間的差值; 如果失敗 ,則為FALSE

date_diff()失敗,並且您嘗試使用FALSE作為對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM