2017-08-24 216 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进一步的细节。