Php/docs/intlcalendar.roll

提供:Dev Guides
< Php
移動先:案内検索

IntlCalendar::roll

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

IntlCalendar::rollAdd 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()

<?phpini_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 +1var_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"

参考