(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::roll — Ajoute une valeur à un champ sans la reporter sur les champs plus significatifs
Style orienté objet
Style procédural
Ajoute une valeur (signée) à un champ. La différence avec IntlCalendar::add() est que lorsque la valeur du champ déborde, elle ne se reporte pas sur les champs plus significatifs.
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 valeur (signée) à ajouter au champ, true
pour aller vers le haut
(ajoutant 1
), ou false
pour aller vers le bas
(soustrayant 1
).
Exemple #1 IntlCalendar::roll()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
$cal = new IntlGregorianCalendar(2013, 5 /* June */, 30);
$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
var_dump(IntlDateFormatter::formatObject($cal)); // "01/07/2013, 00:00:00"
$cal->set(2013, 5 /* June */, 30);
$cal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true); // aller en up, comme rouler +1
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"
L'exemple ci-dessus va afficher :
string(20) "01/07/2013, 00:00:00" string(20) "01/06/2013, 00:00:00"