Thursday 19 July 2018

PHP, MySQL: Calculate Number of Days between 2 Dates or Number of Hours, Minutes and Seconds

PHP, MySQL: Calculate Number of Days between 2 Dates or Number of Hours, Minutes and Seconds

This is a rather common task in both PHP and MySQL, that is, to calculate and get the days distance (number of days) between 2 given dates.
In PHP, to get the number of days between now and a future date / a past date:
$days = abs(strtotime("2011-11-20") - strtotime(date("Y-m-d"))) / (60 * 60 * 24);
To get the number of days between 2 given dates, just modify the latter strtotime() parameter:
$days = abs(strtotime("2011-11-20") - strtotime("2005-5-4")) / (60 * 60 * 24);
To get the number of hours between 2 dates:
$days = abs(strtotime("2011-11-20") - strtotime("2005-5-4")) / (60 * 60);
Similarly, to get the number of minutes:
$days = abs(strtotime("2011-11-20") - strtotime("2005-5-4")) / 60;
Number of seconds:
$days = abs(strtotime("2011-11-20") - strtotime("2005-5-4"));
In MySQL, to get the number of days between 2 given dates, use the function TO_DAYS():
SELECT TO_DAYS('2009-07-04') - TO_DAYS('2009-06-18');
Which would return:
16

0 comments:

Post a Comment