# 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 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