Метод 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
,
который представляет интервал дат