Рецепт №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 — округление числа до целых.