(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::set — Set a time field or several common fields at once
Об'єктно-орієнтований стиль
$year
,$month
,$dayOfMonth
= NULL,$hour
= NULL,$minute
= NULL,$second
= NULLПроцедурний стиль
$cal
,$year
,$month
,$dayOfMonth
= NULL,$hour
= NULL,$minute
= NULL,$second
= NULLSets 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
Примірник IntlCalendar.
field
Одна із
предвизначених констант
дати/часу для IntlCalendar. Вони мають цілочисельний
(integer) тип зі значенням між 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
.
Завжди повертає true
.
Версія | Опис |
---|---|
8.2.0 |
Тепер повертається значення типу true . До цього був bool.
|
8.4.0 | This had been deprecated in favor of the methods IntlCalendar::setDate() and IntlCalendar::setDateTime(). |
Приклад #1 IntlCalendar::set()
<?php
ini_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"