Método diff de la clase DateTime
El método diff de la clase DateTime toma como parámetro otro objeto DateTime y devuelve un objeto DateInterval que contiene la diferencia entre las fechas. La diferencia se puede obtener en varias unidades de medida (días, meses, años, etc.).
Sintaxis
$interval = $datetime1->diff($datetime2);
Ejemplo
Calculemos la diferencia entre dos fechas:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
Resultado de ejecutar el código:
'+45 days'
Ejemplo
Obtengamos la diferencia en meses y días:
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Resultado de ejecutar el código:
'2 months 15 days'
Ejemplo
Comparación de fechas teniendo en cuenta la hora:
<?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');
?>
Resultado de ejecutar el código:
'4 hours 30 minutes'
Ver también
-
la función
date,
que formatea fecha y hora -
la función
strtotime,
que convierte una cadena a marca de tiempo -
la clase
DateInterval,
que representa un intervalo de fechas