PHP 8.4.1 Released!

IntlCalendar::add

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

IntlCalendar::addAjoute une durée (signée) à un champ

Description

Style orienté objet

public IntlCalendar::add(int $field, int $value): bool

Style procédural

intlcal_add(IntlCalendar $calendar, int $field, int $value): bool

Ajoute une durée signée à un champ. L'ajout d'une durée positive permet d'avancer dans le temps, même si la valeur numérique du champ décroit (i.e. lorsqu'on travaille sur les années en dates BC).

Les autres champs doivent s'ajuster ; par exemple, l'ajout d'un mois à la date du 31 Janvier retournera le 28 (ou 29) Févrirer. Contrairement à la fonction IntlCalendar::roll(), lorsqu'une valeur englobe plusieurs valeurs, plusieurs champs peuvent changer significativement. Par exemple, l'ajout d'une journée au 31 Janvier retournera le 1 Février, et non le 1 Janvier.

Liste de paramètres

calendar

Une instance IntlCalendar.

field

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

value

La durée signée à ajouter au champ courant. Si la durée est positive, l'instant va se déplacer en avant ; si elle est négative, l'instant va se déplacer dans le passé. L'unité est implicite suivant le type de champ. Par exemple, ce sera en heures pour la constante IntlCalendar::FIELD_HOUR_OF_DAY.

Valeurs de retour

Retourne true en cas de succès, ou false si une erreur survient.

Exemples

Exemple #1 Exemple avec IntlCalendar::add()

<?php
ini_set
('intl.default_locale', 'fr_FR');
ini_set('date.timezone', 'UTC');

$cal = new IntlGregorianCalendar(2012, 0 /* January */, 31);
echo
IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_MONTH, 1);
echo
IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
echo
IntlDateFormatter::formatObject($cal), "\n";

L'exemple ci-dessus va afficher :

31 janv. 2012 00:00:00
29 févr. 2012 00:00:00
1 mars 2012 00:00:00

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top