Metodo diff della classe DateTime
Il metodo diff della classe DateTime accetta come parametro un altro oggetto DateTime e restituisce un oggetto DateInterval, contenente la differenza tra le date. La differenza può essere ottenuta in varie unità di misura (giorni, mesi, anni, ecc.).
Sintassi
$interval = $datetime1->diff($datetime2);
Esempio
Calcoliamo la differenza tra due date:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
Risultato dell'esecuzione del codice:
'+45 days'
Esempio
Otteniamo la differenza in mesi e giorni:
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Risultato dell'esecuzione del codice:
'2 months 15 days'
Esempio
Confronto di date con considerazione dell'ora:
<?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');
?>
Risultato dell'esecuzione del codice:
'4 hours 30 minutes'
Vedi anche
-
la funzione
date,
che formatta data e ora -
la funzione
strtotime,
che converte una stringa in un timestamp -
la classe
DateInterval,
che rappresenta un intervallo di date