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