Laravel Carbon date diffInDays() on string error
25,036
Solution 1
Carbon format()
function will convert to string so remove format('Y-m-d')
like this:
$formatted_dt1=Carbon::parse($a->date);
$formatted_dt2=Carbon::parse($c->dt);
$date_diff=$formatted_dt1->diffInDays($formatted_dt2);
Hope you understand. You can see docs here.
Solution 2
Not tested but try this:
$formatted_dt1=Carbon::parse($a->date);
$formatted_dt2=Carbon::parse($c->dt);
$date_diff=$formatted_dt1->diffInDays($formatted_dt2);
Author by
Muthu
Updated on July 05, 2022Comments
-
Muthu almost 2 years
I need to find the difference between the two dates. Say i have 2017-02-01 - 2017-01-01. The number of days between the two days is the output
$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);
If I give the above code I get the error as
FatalThrowableError in ReportsController.php line 67: Call to a member function diffInDays() on string
-
Daniel Steiner about 5 yearsWhile all those answers are correct, you should specify date and dt to be dates in the corresponding model - see laravel.com/docs/5.7/eloquent-mutators#date-mutators for more information
-