Add value to field without carrying into more significant fields

# IntlCalendar::roll

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

IntlCalendar::roll — Add value to field without carrying into more significant fields

### 説明

オブジェクト指向型

public IntlCalendar::roll ( int `$field` , mixed `$amountOrUpOrDown` ) : bool

手続き型

intlcal_roll ( IntlCalendar `$cal` , int `$field` , mixed `$amountOrUpOrDown` ) : bool

Adds a (signed) amount to a field. The difference with respect to IntlCalendar::add() is that when the field value overflows, it does not carry into more significant fields.

### パラメータ

`cal`

  The IntlCalendar resource.

`field`

  IntlCalendar の日付/時刻 フィールド定数 のいずれか。 0 から `IntlCalendar::FIELD_COUNT` までの間の整数値です。

`amountOrUpOrDown`

  The (signed) amount to add to the field, `TRUE` for rolling up (adding 1), or `FALSE` for rolling down (subtracting 1).

### 返り値

Returns `TRUE` on success or `FALSE` on failure.

### 例

例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); // roll up, same as rolling +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() - Add a (signed) amount of time to a field
- IntlCalendar::set() - Set a time field or several common fields at once