(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
intlcal_add(IntlCalendar
$calendar
, int
$field
, int
$value
): bool
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