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
add a note

User Contributed Notes

There are no user contributed notes for this page.