Metoda diff klasy DateTime
Metoda diff klasy DateTime przyjmuje jako parametr inny obiekt DateTime i zwraca obiekt DateInterval, zawierający różnicę między datami. Różnicę można uzyskać w różnych jednostkach miary (dni, miesiące, lata itd.).
Składnia
$interval = $datetime1->diff($datetime2);
Przykład
Obliczmy różnicę między dwiema datami:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
Wynik wykonania kodu:
'+45 days'
Przykład
Uzyskajmy różnicę w miesiącach i dniach:
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Wynik wykonania kodu:
'2 months 15 days'
Przykład
Porównanie dat z uwzględnieniem czasu:
<?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');
?>
Wynik wykonania kodu:
'4 hours 30 minutes'
Zobacz też
-
funkcję
date,
która formatuje datę i czas -
funkcję
strtotime,
która przekształca ciąg znaków na znacznik czasu -
klasę
DateInterval,
który reprezentuje przedział dat