Добавляет значение в поле без переноса в более важные поля

# IntlCalendar::roll

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

IntlCalendar::roll — Добавляет значение в поле без переноса в более важные поля

### Описание

Объектно-ориентированный стиль

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

Процедурный стиль

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

Добавляет количество (со знаком) в поле. Отличие от IntlCalendar::add() состоит в том, что когда значение поля переполняется, оно не переносится в более важные поля.

### Список параметров

`calendar`
  Экземпляр класса IntlCalendar.
`field`

  Одна из представленных в классе IntlCalendar констант полей типа дата/время. Целое число от `0` до `IntlCalendar::FIELD_COUNT`.

`value`

  Количество (со знаком), добавляемое к полю, `true` для сворачивания (добавление `1`) или `false` для скатывания вниз (вычитание `1`).

### Возвращаемые значения

Возвращает `true` в случае успешного выполнения или `false` в случае возникновения ошибки.

### Примеры

Пример #1 Пример использования IntlCalendar::roll()

    <?php
    ini_set('date.timezone', 'Europe/Lisbon');
    ini_set('intl.default_locale', 'pt_PT');

    $cal = new IntlGregorianCalendar(2013, 5 /* Июнь */, 30);

    $cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
    var_dump(IntlDateFormatter::formatObject($cal)); // "01/07/2013, 00:00:00"

    $cal->set(2013, 5 /* Июнь */, 30);
    $cal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true); // свернуть так же, как скатиться +1
    var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"

Результат выполнения приведённого примера:

    string(20) "01/07/2013, 00:00:00"
    string(20) "01/06/2013, 00:00:00"

### Смотрите также

- IntlCalendar::add() - Добавляет количество (со знаком) времени в поле
- IntlCalendar::set() - Устанавливает поле времени или сразу несколько общих полей

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