Función PHP date_diff ()

Definición y uso

La función date_diff () es un alias de DateTime :: diff . Esto acepta dos objetos DateTime como parámetros y recupera la diferencia entre ellos.

Sintaxis

date_diff($datetime1, $datetime2[, $absolute])

Parámetros

No Señor Descripción de parámetros
1

datetime1(Mandatory)

Este es un objeto DateTime, que representa una de las fechas para la comparación.

2

$datetime2 (Mandatory)

Este es un objeto DateTime, que representa una de las fechas para la comparación.

3

$absolute (Optional)

Un valor booleano que representa si la diferencia de intervalo debe ser Debe ser positiva

Valores devueltos

La función PHP date_diff () devuelve un objeto DateInterval que especifica la diferencia entre las dos fechas dadas. En caso de falla, esta función devuelve falso .

Versión PHP

Esta función se introdujo por primera vez en la versión 5.3.0 de PHP y funciona con todas las versiones posteriores.

Ejemplo

El siguiente ejemplo demuestra el uso de la función date_diff () :

<?php
   //Creating a DateTime object
   $date1 = date_create("25-09-1989");
   $date2 = date_create("1-09-2012");
   $interval = date_diff($date1, $date2);
   print($interval->format('%Y years %d days'));
?>

Esto producirá el siguiente resultado:

22 years 7 days

Ejemplo

El siguiente ejemplo calcula la diferencia entre una fecha determinada y la fecha actual:

<?php
   $date1 = date_create("25-09-1989");
   $date2 = date_create();
   $interval = date_diff($date1, $date2);
   print($interval->format('%Y years %d days'));  
?>

Esto producirá el siguiente resultado:

30 years 14 days

Ejemplo

<?php
   //Creating a DateTime object
   $date1 = date_create("25-09-2012");
   $date2 = date_create("1-09-2014");
   $interval = date_diff($date1, $date2);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date3 = date_create("25-09-1989");
   $date4 = date_create("19-03-2012");
   $interval = date_diff($date3, $date4);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date5 = date_create("16-11-2002");
   $date6 = date_create("12-09-2014");
   $interval = date_diff($date5, $date6);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date7 = date_create("25-09-1989");
   $date8 = date_create("1-09-2012");
   $interval = date_diff($date7, $date8);
   print($interval->format('%Y years %m months %d days'));
?>

Esto producirá el siguiente resultado:

01 years 11 months 7 days
22 years 5 months 23 days
11 years 9 months 27 days
22 years 11 months 7 days