IntlCalendar::set

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

IntlCalendar::setУстанавливает поле времени или сразу несколько общих полей

Описание

Объектно-ориентированный стиль

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

Устанавливает либо конкретное поле на заданное значение, либо устанавливает сразу несколько общих полей. Диапазон допустимых значений зависит от того, использует ли календарь мягкий режим.

Для полей, которые конфликтуют, поля, которые устанавливаются позже, имеют приоритет.

Этот метод нельзя вызвать ровно с четырьмя аргументами.

Список параметров

cal

Экземпляр IntlCalendar.

field

Одна из представленных в классе IntlCalendar констант полей типа дата/время. Целое число от 0 до IntlCalendar::FIELD_COUNT.

value

Новое значение указанного поля.

year

Новое значение для IntlCalendar::FIELD_YEAR.

month

Новое значение для IntlCalendar::FIELD_MONTH. Последовательность месяцев отсчитывается от нуля, т.е. январь представлен 0, февраль - 1, ..., декабрь - 11, а Тринадцатый месяц (если в календаре) - 12.

dayOfMonth

Новое значение для IntlCalendar::FIELD_DAY_OF_MONTH.

hour

Новое значение для IntlCalendar::FIELD_HOUR_OF_DAY.

minute

Новое значение для IntlCalendar::FIELD_MINUTE.

second

Новое значение для IntlCalendar::FIELD_SECOND.

Возвращаемые значения

Функция всегда возвращает true.

Примеры

Пример #1 Пример использования IntlCalendar::set()

<?php
ini_set
('date.timezone''Europe/Lisbon');
ini_set('intl.default_locale''pt_PT');

// Вызовы, сделанные позже, приоритетнее
$cal = new IntlGregorianCalendar(2013/* Июль */1);
$cal->set(IntlCalendar::FIELD_YEAR2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR2011);
var_dump(IntlDateFormatter::formatObject($cal));

$cal = new IntlGregorianCalendar(2013/* Июль */1);
$cal->set(IntlCalendar::FIELD_YEAR2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR2011);
// Время еще не пересчитано. Если мы очистим EXTENDED_YEAR,
// будет использован предыдущий год.
$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() - Получает значение поля
  • IntlCalendar::add() - Добавляет количество (со знаком) времени в поле
  • IntlCalendar::roll() - Добавляет значение в поле без переноса в более важные поля

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top