[英]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.