Metoda diff a clasei DateTime
Metoda diff a clasei DateTime acceptă ca parametru un alt obiect DateTime și returnează un obiect DateInterval, care conține diferența dintre date. Diferența poate fi obținută în diferite unități de măsură (zile, luni, ani etc.).
Sintaxă
$interval = $datetime1->diff($datetime2);
Exemplu
Să calculăm diferența dintre două date:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
Rezultatul executării codului:
'+45 days'
Exemplu
Să obținem diferența în luni și zile:
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Rezultatul executării codului:
'2 months 15 days'
Exemplu
Compararea datelor cu luarea în considerare a timpului:
<?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');
?>
Rezultatul executării codului:
'4 hours 30 minutes'
Vezi și
-
funcția
date,
care formatează data și ora -
funcția
strtotime,
care transformă un șir în marcaj temporal -
clasa
DateInterval,
care reprezintă un interval de date