Calcule la différence entre le temps donné et le temps de l'objet

# IntlCalendar::fieldDifference

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

IntlCalendar::fieldDifference — Calcule la différence entre le temps donné et le temps de l'objet

### Description

Style orienté objet

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

Style procédural

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

Retourne la différence entre le temps donné et le temps de cet objet, en respectant la quantité spécifiée par le paramètre `field`.

Cette méthode est prévue pour être appelée successivement, tout d'abord avec le champ d'intérêt le plus significatif, puis avec le champ le moins significatif. À la fin, en guise d'effet de bord, la valeur du calendrier pour le champ spécifié sera avancée par la durée retournée.

### Liste de paramètres

`calendar`
  Une instance IntlCalendar.
`timestamp`

  Le temps utilisé pour la comparaison avec la quantité représentée par le champ `field`. Pour que le résultat soit positif, le temps fourni dans ce paramètre doit être dans le futur par rapport au temps de l'objet de la méthode.

`field`

  Le champ qui représente la quantité à comparer.

  Une constante de champ date/heure IntlCalendar. Ce sont des valeurs entières comprises entre `0` et `IntlCalendar::FIELD_COUNT`.

### Valeurs de retour

Retourne une différence (signée) de temps, en utilisant l'unité associée avec le champ spécifié ou `false` si une erreur survient.

### Exemples

Exemple #1 Exemple avec 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 "Temps, avant opération : ", IntlDateFormatter::formatObject($cal1), "\n";

    printf(
        "La différence de temps est de %d année(s), %d mois, "
      . "%d jour(s), %d heure(s) et %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)
    );

    // maintenant, le temps cible a été avancé, sauf pour les secondes,
    // pour lesquelles nous ne mesurons pas la différence
    echo "Temps, après opération : ", IntlDateFormatter::formatObject($cal1), "\n";

L'exemple ci-dessus va afficher :

    Temps, avant opération : 29 févr. 2012 09:00:11
    La différence de temps est de 1 année(s), 0 mois, 1 jour(s), 0 heure(s) et 19 minute(s)
    Temps, après opération : 1 mars 2013 09:19:11

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