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

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

Przykład

Obliczmy różnicę między dwiema datami:

php<?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:

php'+45 days'

Przykład

Uzyskajmy różnicę w miesiącach i dniach:

php<?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:

php'2 months 15 days'

Przykład

Porównanie dat z uwzględnieniem czasu:

php<?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:

php'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