Ajoute une durée (signée) à un champ

# IntlCalendar::add

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

IntlCalendar::add — Ajoute une durée (signée) à un champ

### Description

Style orienté objet

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

Style procédural

function 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 (c.-à-d. 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évrier. 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 constante de champ date/heure IntlCalendar. Ce 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

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