IntlCalendar::roll - Add value to field without carrying into more significant fields
Вернуться к: IntlCalendar
IntlCalendar::roll
(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)
IntlCalendar::roll — Add value to field without carrying into more significant fields
Описание
Объектно-ориентированный стиль
Процедурный стиль
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 -
One of the IntlCalendar date/time field constants. These are integer values between 0 and
IntlCalendar::FIELD_COUNT. -
amountOrUpOrDown -
The (signed) amount to add to the field,
TRUEfor rolling up (adding 1), orFALSEfor 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
Вернуться к: IntlCalendar