IntlCalendar::roll

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::rollAjoute une valeur à un champ sans la reporter sur les champs plus significatifs

Description

Style orienté objet

public IntlCalendar::roll(int $field, int|bool $value): bool

Style procédural

intlcal_roll(IntlCalendar $calendar, int $field, int|bool $value): bool

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.

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 valeur (signée) à ajouter au champ, true pour aller vers le haut (ajoutant 1), ou false pour aller vers le bas (soustrayant 1).

Valeurs de retour

Renvoie true en cas de succès ou false en cas d'échec.

Exemples

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"

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top