Metóda diff triedy DateTime

Metóda diff triedy DateTime prijíma ako parameter iný objekt DateTime a vráti objekt DateInterval, obsahujúci rozdiel medzi dátumami. Rozdiel je možné získať v rôznych jednotkách merania (dni, mesiace, roky atď.).

Syntax

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

Príklad

Vypočítajme rozdiel medzi dvoma dátumami:

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

Výsledok vykonania kódu:

php'+45 days'

Príklad

Získajme rozdiel v mesiacoch a dňoch:

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

Výsledok vykonania kódu:

php'2 months 15 days'

Príklad

Porovnanie dátumov s ohľadom na čas:

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

Výsledok vykonania kódu:

php'4 hours 30 minutes'

Pozri tiež

  • funkciu date,
    ktorá formátuje dátum a čas
  • funkciu strtotime,
    ktorá transformuje reťazec na časovú pečiatku
  • triedu DateInterval,
    ktorá reprezentuje interval dátumov