Añade un valor a un campo sin reportarlo a los campos más significativos

# IntlCalendar::roll

(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

### Descripción

Estilo orientado a objetos

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

Estilo procedimental

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

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.

### Parámetros

`calendar`
  Una instancia de IntlCalendar.
`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`).

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de fallo.

### Ejemplos

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"

### Ver también

- IntlCalendar::add() - Añade una duración (con signo) a un campo
- IntlCalendar::set() - Define un campo de tiempo o varios campos comunes a la vez

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open