IntlCalendar::add

(PHP 5.5.0, PECL >= 3.0.0a1)

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

Description

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

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

field

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

amount

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

LoadingChargement en cours