IntlCalendar::add
(PHP 5.5.0, PECL >= 3.0.0a1)
IntlCalendar::add — Ajoute une durée (signée) à un champ
Description
$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