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

Метад diff класа DateTime прымае ў якасці параметра іншы аб'ект DateTime і вяртае аб'ект DateInterval, які змяшчае рознасць паміж датамі. Рознасць можна атрымаць у розных адзінках вымярэння (дні, месяцы, гады і г.д.).

Сінтаксіс

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

Прыклад

Вылічым рознасць паміж двума датамі:

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

Вынік выканання кода:

php'+45 days'

Прыклад

Атрымаем рознасць у месяцах і днях:

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');
?>

Вынік выканання кода:

php'2 months 15 days'

Прыклад

Параўнанне дат з улікам часу:

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');
?>

Вынік выканання кода:

php'4 hours 30 minutes'

Глядзіце таксама

  • функцыю date,
    якая фарматуе дату і час
  • функцыю strtotime,
    якая пераўтварае радок у метку часу
  • клас DateInterval,
    які прадстаўляе інтэрвал дат