Carbon: diff two datetime objects by dates only

lesssugar picture lesssugar · Jul 27, 2017 · Viewed 7.5k times · Source

Assuming I have the following code:

$now = Carbon::now();
$dateTimeObject = Carbon::parse('2017-07-20 10:16:34');

how do I get the diff between the dates only, ignoring the time factor?

So, if $now is 2017-07-27 09:11:12, and the date in the $dateTimeObject is 2017-07-20 -- the difference would be 7.

I need it to make sure the results of a specific operation are being stored in the database only once per day.

Note:

I tried the diffInDays() method, but it returns 0 if the values are e.g. 2016-10-12 23:56:43 and 2016-10-13 02:01:53 - so, close to midnight and at night.

Answer

Perfect Square picture Perfect Square · Jul 27, 2017

Do something like this:

$now = Carbon::now()->startOfDay();
$dateTimeObject = Carbon::parse('2017-07-20 10:16:34')->startOfDay();

And now use diffInDays().