# 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 IntlCalendar::fieldDifference(float `$timestamp`, int `$field`): int|false

Style procédural

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. A 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 quuantité à comparer.

  Une constantes de champ date/heure IntlCalendar. Ceux 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 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)
);
// 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, avant opération : 1 mars 2013 09:19:11