2017-08-24 215 views
1

我需要找到兩個日期之間的差異。說我有2017-02-01 - 2017-01-01。兩天之間的天數是輸出Laravel碳日期diffInDays()字符串錯誤

$formatted_dt1=Carbon::parse($a->date)->format('Y-m-d'); 
$formatted_dt2=Carbon::parse($c->dt)->format('Y-m-d'); 
$date_diff=$formatted_dt1->diffInDays($formatted_dt2); 

如果我給上面的代碼中,我得到的錯誤作爲

FatalThrowableError in ReportsController.php line 67: 
Call to a member function diffInDays() on string 

回答

1

format()功能將轉換爲字符串,以便去除format('Y-m-d')這樣的:

$formatted_dt1=Carbon::parse($a->date); 

$formatted_dt2=Carbon::parse($c->dt); 

$date_diff=$formatted_dt1->diffInDays($formatted_dt2); 

希望你明白。你可以看到文檔here

2

未經測試,但試試這個:

$formatted_dt1=Carbon::parse($a->date); 
$formatted_dt2=Carbon::parse($c->dt); 
$date_diff=$formatted_dt1->diffInDays($formatted_dt2); 
1

你可以這樣做,

$formatted_dt1=Carbon::parse($a->date); 
$formatted_dt2=Carbon::parse($c->dt); 
$date_diff=$formatted_dt1->diffInDays($formatted_dt2)->format('Y-m-d'); 

首先從兩個日期得到的差異,然後格式化日期。

0

您只能在日期格式適用的Carbon實例上使用diffInDays()函數。現在

$formatted_dt1=Carbon::parse($a->date); 
$formatted_dt2=Carbon::parse($c->dt); 

你應該能夠比較:

$date_diff=$formatted_dt1->diffInDays($formatted_dt2); 

,如果你想申請的日期格式,下面嘗試對它們進行比較:

$date_diff=$formatted_dt1->diffInDays($formatted_dt2)->format('Y-m-d'); 

檢查這個document進一步的細節。