(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)
IntlCalendar::fieldDifference — Calcular la diferencia entre el instante dado y el de este objeto
Estilo orientado a objetos
$when
   , int $field
   ) : intEstilo por procedimientos
   Devuelve la diferencia entre el instante dado y el instante al que está establecido
   este objeto, con respecto a la cantidad especificada por el parámetro
   field.
  
Se pretende que este método se llamado sucesivamente, primero con el campo de interés más significativo hasta el menos significativo. Para es propósito, y como efecto segundario, el valor del calendario para el campo especificado avanza la cantidad devuelta.
calEl recurso IntlCalendar.
when
      El instante con el que comparar la cantidad representada por
      field. Para que el resultado sea positivo, el instante
      dado a este parámetro debe estar por delante del instante del objeto
      que invocó al método.
     
fieldEl campo que representa la cantidad a comparar.
 Una de las constantes del campo
 fecha/hora de IntlCalendar. Son valores de tipo
 integer entre 0 y
 IntlCalendar::FIELD_COUNT.
   Devuelve una diferencia de tiempo (con signo) en la unidad asociada al
   campo especificado  o FALSE en caso de error.
  
Ejemplo #1 IntlCalendar::fieldDifference()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');
$cal1 = IntlCalendar::fromDateTime('2012-02-29 09:00:11');
$cal2 = IntlCalendar::fromDateTime('2013-03-01 09:19:29');
$time = $cal2->getTime();
echo "Instante antes: ", IntlDateFormatter::formatObject($cal1), "\n";
printf(
    "La diferencia es %d year(s), %d month(s), "
  . "%d day(s), %d hour(s) and %d minute(s)\n",
    $cal1->fieldDifference($time, IntlCalendar::FIELD_YEAR),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_MONTH),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_DAY_OF_MONTH),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_HOUR_OF_DAY),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_MINUTE)
);
// ahora avanzó el instante objetivo, con excepción de los segundos,
// para el cual no medimos la diferencia
echo "Instante después: ", IntlDateFormatter::formatObject($cal1), "\n";
El resultado del ejemplo sería:
Instante antes: 29 févr. 2012 09:00:11 La diferencia es 1 year(s), 0 month(s), 1 day(s), 0 hour(s) and 19 minute(s) Instante después: 1 mars 2013 09:19:11