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
$interval = $datetime1->diff($datetime2);
Példa
Számítsuk ki két dátum közötti különbséget:
<?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:
'+45 days'
Példa
Kapjuk meg a különbséget hónapokban és napokban:
<?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:
'2 months 15 days'
Példa
Dátumok összehasonlítása az idő figyelembevételével:
<?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:
'4 hours 30 minutes'
Lásd még
-
a
datefüggvényt,
amely formázza a dátumot és az időt -
a
strtotimefüggvényt,
amely sztringet alakít át időbélyeggé -
a
DateIntervalosztályt,
amely dátumintervallumot reprezentál