IntlCalendar::roll
(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::roll — 次のフィールドを繰り上げずに、フィールドに値を加算する
説明
オブジェクト指向型
手続き型
(符号付きの)量をフィールドに加算します。 IntlCalendar::add() との違いは、 フィールドの値がオーバーフローしても、 次のフィールドの値が繰り上がらないことです。
パラメータ
calendar
-
IntlCalendar クラスのインスタンス。
field
-
IntlCalendar の日付/時刻 フィールド定数 のいずれか。
0
からIntlCalendar::FIELD_COUNT
までの間の整数値です。 value
-
フィールドに加算する(符号付きの)量。
true
を指定すると値を増やします (つまり、1
を足します)。false
を指定すると値を減らします (つまり、1
を引きます)。
例
例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"
+add a note
User Contributed Notes
There are no user contributed notes for this page.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google