Преобразуйте даты в временные метки unix, а затем выложите один из другого. Это даст вам разницу в секундах, которую вы разделите на 86400 (количество секунд в день), чтобы дать вам приблизительное количество дней в этом диапазоне.
Если ваши даты в формате 25.1.2010
, 01/25/2010
или 2010-01-25
, вы можете использовать функцию strtotime
:
$start = strtotime('2010-01-25');
$end = strtotime('2010-02-20');
$days_between = ceil(abs($end - $start) / 86400);
Используя ceil
, округлите количество дней до следующего полного дня. Используйте floor
вместо этого, если вы хотите получить количество полных дней между этими двумя датами.
Если ваши даты уже находятся в формате timestamp в формате unix, вы можете пропустить преобразование и просто выполнить $days_between
часть , Для более экзотических форматов даты вам, возможно, придется сделать некоторые индивидуальные синтаксические разборки, чтобы исправить их.