Finding the number of days between two dates Finding the number of days between two dates php php

Finding the number of days between two dates


$now = time(); // or your date as well$your_date = strtotime("2010-01-31");$datediff = $now - $your_date;echo round($datediff / (60 * 60 * 24));


If you're using PHP 5.3 >, this is by far the most accurate way of calculating the absolute difference:

$earlier = new DateTime("2010-07-06");$later = new DateTime("2010-07-09");$abs_diff = $later->diff($earlier)->format("%a"); //3

If you need a relative (signed) number of days, use this instead:

$earlier = new DateTime("2010-07-06");$later = new DateTime("2010-07-09");$pos_diff = $earlier->diff($later)->format("%r%a"); //3$neg_diff = $later->diff($earlier)->format("%r%a"); //-3


From PHP Version 5.3 and up, new date/time functions have been added to get difference:

$datetime1 = new DateTime("2010-06-20");$datetime2 = new DateTime("2011-06-22");$difference = $datetime1->diff($datetime2);echo 'Difference: '.$difference->y.' years, '                    .$difference->m.' months, '                    .$difference->d.' days';print_r($difference);

Result as below:

Difference: 1 years, 0 months, 2 daysDateInterval Object(    [y] => 1    [m] => 0    [d] => 2    [h] => 0    [i] => 0    [s] => 0    [invert] => 0    [days] => 367)

Hope it helps !