Calcula la diferencia entre el tiempo dado y el tiempo del objeto

# IntlCalendar::fieldDifference

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::fieldDifference — Calcula la diferencia entre el tiempo dado y el tiempo del objeto

### Descripción

Estilo orientado a objetos

public function IntlCalendar::fieldDifference(float `$timestamp`, int `$field`): int|false

Estilo procedimental

function intlcal_field_difference(IntlCalendar `$calendar`, float `$timestamp`, int `$field`): int|false

Devuelve la diferencia entre el tiempo dado y el tiempo de este objeto, respetando la cantidad especificada por el argumento `field`.

Este método está previsto para ser llamado sucesivamente, primero con el campo de interés más significativo, luego con el campo menos significativo. Al final, como efecto secundario, el valor del calendario para el campo especificado será avanzado por la duración devuelta.

### Parámetros

`calendar`
  Una instancia de IntlCalendar.
`timestamp`

  El tiempo utilizado para la comparación con la cantidad representada por el campo `field`. Para que el resultado sea positivo, el tiempo proporcionado en este argumento debe estar en el futuro con respecto al tiempo del objeto del método.

`field`

  El 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`.

### Valores devueltos

Devuelve una diferencia (con signo) de tiempo, utilizando la unidad asociada con el campo especificado o `false` si ocurre un error.

### Ejemplos

Ejemplo #1 Ejemplo con 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 "Tiempo, antes de la operación: ", IntlDateFormatter::formatObject($cal1), "\n";

    printf(
        "La diferencia de tiempo es de %d año(s), %d mes(es), "
      . "%d día(s), %d hora(s) y %d minuto(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, el tiempo objetivo ha sido avanzado, excepto para los segundos,
    // para los cuales no medimos la diferencia
    echo "Tiempo, después de la operación: ", IntlDateFormatter::formatObject($cal1), "\n";

El ejemplo anterior mostrará:

    Tiempo, antes de la operación: 29 feb. 2012 09:00:11
    La diferencia de tiempo es de 1 año(s), 0 mes(es), 1 día(s), 0 hora(s) y 19 minuto(s)
    Tiempo, después de la operación: 1 mar. 2013 09:19:11

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open