php Object of class DateInterval could not be converted to string

Christian Burgos picture Christian Burgos · Feb 20, 2015 · Viewed 29.5k times · Source

i've tried using date_diff and date_create to get a difference from two date that's already converted to string.

here's the code:

$date_1 = date_create();
$date_now = date_format($date_1, 'Y-m-d');


//echo $date_now . "\n";
$date=date_create($date_now);
date_add($date,date_interval_create_from_date_string("3 days"));
$date_return =  date_format($date,"Y-m-d");


$diff = date_diff(date_create($date_now), date_create($date_return));

echo $diff;

and i am getting this error:

Object of class DateInterval could not be converted to string

Answer

John Conde picture John Conde · Feb 20, 2015

You need to call DateInterval::format() to display that difference as a string.

echo $diff->format('%d days');

See the manual for all of the available formatting options.