A DateTime osztály diff metódusa

A diff metódus a DateTime osztályban egy másik DateTime objektumot fogad paraméterként, és egy DateInterval objektumot ad vissza, amely a dátumok közötti különbséget tartalmazza. A különbség különböző mértékegységekben (napok, hónapok, évek stb.) kapható meg.

Szintaxis

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

Példa

Számítsuk ki két dátum közötti különbséget:

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

A kód végrehajtásának eredménye:

php'+45 days'

Példa

Kapjuk meg a különbséget hónapokban és napokban:

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

A kód végrehajtásának eredménye:

php'2 months 15 days'

Példa

Dátumok összehasonlítása az idő figyelembevételével:

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

A kód végrehajtásának eredménye:

php'4 hours 30 minutes'

Lásd még

  • a date függvényt,
    amely formázza a dátumot és az időt
  • a strtotime függvényt,
    amely sztringet alakít át időbélyeggé
  • a DateInterval osztályt,
    amely dátumintervallumot reprezentál