ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
235 of 410 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Метод diff класса DateTime

Метод diff класса DateTime принимает в качестве параметра другой объект DateTime и возвращает объект DateInterval, содержащий разницу между датами. Разницу можно получить в различных единицах измерения (дни, месяцы, годы и т.д.).

Синтаксис

$interval = $datetime1->diff($datetime2);

Пример

Вычислим разницу между двумя датами:

<?php $date1 = new DateTime('2023-01-01'); $date2 = new DateTime('2023-02-15'); $interval = $date1->diff($date2); echo $interval->format('%R%a days'); ?>

Результат выполнения кода:

'+45 days'

Пример

Получим разницу в месяцах и днях:

<?php $date1 = new DateTime('2023-03-10'); $date2 = new DateTime('2023-05-25'); $interval = $date1->diff($date2); echo $interval->format('%m months %d days'); ?>

Результат выполнения кода:

'2 months 15 days'

Пример

Сравнение дат с учетом времени:

<?php $date1 = new DateTime('2023-01-01 10:00:00'); $date2 = new DateTime('2023-01-01 14:30:00'); $interval = $date1->diff($date2); echo $interval->format('%h hours %i minutes'); ?>

Результат выполнения кода:

'4 hours 30 minutes'

Смотрите также

  • функцию date,
    которая форматирует дату и время
  • функцию strtotime,
    которая преобразует строку в метку времени
  • класс DateInterval,
    который представляет интервал дат
byenru