IntlCalendar::set
(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)
IntlCalendar::set — Set a time field or several common fields at once
説明
オブジェクト指向型
public IntlCalendar::set
( int $field
, int $value
) : bool
public IntlCalendar::set
( int $year
, int $month
[, int $dayOfMonth
= NULL
[, int $hour
= NULL
[, int $minute
= NULL
[, int $second
= NULL
]]]] ) : bool
手続き型
intlcal_set
( IntlCalendar $cal
, int $field
, int $value
) : bool
intlcal_set
( IntlCalendar $cal
, int $year
, int $month
[, int $dayOfMonth
= NULL
[, int $hour
= NULL
[, int $minute
= NULL
[, int $second
= NULL
]]]] ) : bool
Sets either a specific field to the given value, or sets at once several common fields. The range of values that are accepted depend on whether the calendar is using the lenient mode.
For fields that conflict, the fields that are set later have priority.
This method cannot be called with exactly four arguments.
パラメータ
cal
- The IntlCalendar resource.
field
- IntlCalendar の日付/時刻 フィールド定数 のいずれか。
0
からIntlCalendar::FIELD_COUNT
までの間の整数値です。 value
- The new value of the given field.
year
- The new value for
IntlCalendar::FIELD_YEAR
. month
- The new value for
IntlCalendar::FIELD_MONTH
. The month sequence is zero-based, i.e., January is represented by 0, February by 1, …, December is 11 and Undecember (if the calendar has it) is 12. dayOfMonth
- The new value for
IntlCalendar::FIELD_DAY_OF_MONTH
. hour
- The new value for
IntlCalendar::FIELD_HOUR_OF_DAY
. minute
- The new value for
IntlCalendar::FIELD_MINUTE
. second
- The new value for
IntlCalendar::FIELD_SECOND
.
返り値
Returns true
on success and false
on failure.
例
例1 IntlCalendar::set()
<?phpini_set('date.timezone', 'Europe/Lisbon');ini_set('intl.default_locale', 'pt_PT');//Calls made later have priority$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);$cal->set(IntlCalendar::FIELD_YEAR, 2012);$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);var_dump(IntlDateFormatter::formatObject($cal));$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);$cal->set(IntlCalendar::FIELD_YEAR, 2012);$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);//the time has not been recalculated yet. If we clear the extended year,//the year set before will be used$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);var_dump(IntlDateFormatter::formatObject($cal));
上の例の出力は以下となります。
string(20) "01/07/2011, 00:00:00" string(20) "01/07/2012, 00:00:00"
参考
- IntlCalendar::get() - Get the value for a field
- IntlCalendar::add() - Add a (signed) amount of time to a field
- IntlCalendar::roll() - Add value to field without carrying into more significant fields