Разница между датами в днях

Рецепт №41. Из книги «128 рецептов php»
Перейти к оглавлению

Чтобы узнать разницу между двумя датами, необходимо обе даты перевести в вид timestamp, после чего узнать разницу. Полученное число, будет являться разницей между датами в секундах. Для перевода секунд в дни достаточно просто разделить результат на количество секунд в сутках(86400 сек).

Пример:

// первая дата(текущая)
$date_1 = date("Y-m-d");
// вторая дата
$date_2 = "2014-10-31";

// перевод дат в формат timestamp
$date_timestamp_1 = strtotime($date_1);
$date_timestamp_2 = strtotime($date_2);

// разница в секундах
$diff = $date_timestamp_1 - $date_timestamp_2; 
// берем модуль, возможно значение с минусом
$diff = abs($diff);
// Высчитываем количество дней 
// 3600 сек = 1 час
// и округляем до целых
$diff_day = intval($diff / (3600 * 24));
// вывод количества дней
echo $diff_day; 

В рецепте были использованы две новые функции: abs — получение модуля числа, intval — округление числа до целых.

Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*