(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::roll — Añade un valor a un campo sin reportarlo a los campos más significativos
Estilo orientado a objetos
Estilo procedimental
Añade un valor (signado) a un campo. La diferencia con IntlCalendar::add() es que cuando el valor del campo desborda, no se reporta a los campos más significativos.
calendarAn IntlCalendar instance.
field
 Una de las constantes del campo
 fecha/hora de IntlCalendar. Son valores de tipo
 integer entre 0 y
 IntlCalendar::FIELD_COUNT.
value
      El valor (signado) a añadir al campo, true para ir hacia arriba
      (añadiendo 1), o false para ir hacia abajo
      (restando 1).
     
Ejemplo #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); // ir hacia arriba, como rodar +1
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"El ejemplo anterior mostrará:
string(20) "01/07/2013, 00:00:00" string(20) "01/06/2013, 00:00:00"
