Internationalization IntlCalendar::roll

IntlCalendar::roll

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

IntlCalendar::roll — 더 중요한 필드로 옮기지 않고 필드에 가치 추가


설명

객체 지향 스타일

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

절차적 스타일

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

필드에 (서명된) 금액을 추가합니다. IntlCalendar::add()와 관련된 차이점은 필드 값이 오버플로될 때 더 중요한 필드로 전달되지 않는다는 것입니다.


매개변수

calendar
IntlCalendar 인스턴스입니다.
field
IntlCalendar 날짜/시간 필드 상수 중 하나입니다. 0IntlCalendar::FIELD_COUNT 사이의 정수 값입니다.
value
필드에 추가할 (서명된) 양, 롤업(1 추가)의 경우 true, 롤다운(1 빼기)의 경우 false입니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #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"
                

기타