Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Carbon: diff two datetime objects by dates only

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.

like image 601
lesssugar Avatar asked Jul 27 '17 19:07

lesssugar


1 Answers

Carbon::isSameDay method will check if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone).

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

$is_same = $dateTimeObject->isSameDay();
like image 80
John Magnolia Avatar answered Sep 29 '22 23:09

John Magnolia