Создаёт новый объект IntlCalendar

# IntlCalendar::createInstance

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

IntlCalendar::createInstance — Создаёт новый объект IntlCalendar

### Описание

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

public static function IntlCalendar::createInstance(IntlTimeZone|DateTimeZone|string|null `$timezone` = `null`, ?string `$locale` = `null`): ?IntlCalendar

Процедурный стиль

function intlcal_create_instance(IntlTimeZone|DateTimeZone|string|null `$timezone` = `null`, ?string `$locale` = `null`): ?IntlCalendar

Учитывая часовой пояс и языковой стандарт, метод создаёт объект IntlCalendar. Этот фабричный метод может возвращать дочерний класс IntlCalendar.

Созданный календарь будет представлять момент времени, в который он был создан, на основе системного времени. Все поля можно очистить, вызвав IntCalendar::clear() без аргументов. Смотрите также IntlGregorianCalendar::__construct().

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

`timezone`

  Часовой пояс для использования.

  - Если `null`, то будет использован часовой пояс по умолчанию, заданная в ini-настройки date.timezone либо с помощью функции date_default_timezone_set() и возвращённая функцией date_default_timezone_get().

  - Объект класса IntlTimeZone.

  - Объект класса DateTimeZone. Его идентификатор будет извлечён и на его основе будет создан объект часового пояса ICU; часовой пояс будет сохранён в базе данных ICU, а не PHP.

  - Строка, являющаяся корректным идентификатором часового пояса ICU. Смотрите IntlTimeZone::createTimeZoneIDEnumeration(). "Сырые" смещения, типа `"GMT+08:30"`, также поддерживаются.

`locale`

  Используемый языковой стандарт или значение `null` для использования языкового стандарта по умолчанию.

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

Созданный экземпляр IntlCalendar или `null` в случае возникновения ошибки.

### Примеры

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

    <?php
    ini_set('intl.default_locale', 'es_ES');
    ini_set('date.timezone', 'Europe/Madrid');

    $cal = IntlCalendar::createInstance();
    echo "Без аргументов\n";
    var_dump(get_class($cal),
            IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
    echo "\n";

    echo "Явное указание часового пояса\n";
    $cal = IntlCalendar::createInstance(IntlTimeZone::getGMT());
    var_dump(get_class($cal),
            IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
    echo "\n";

    echo "Явное указание языкового стандарта (с календарём)\n";
    $cal = IntlCalendar::createInstance(NULL, 'es_ES@calendar=persian');
    var_dump(get_class($cal),
            IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));

Результат выполнения приведённого примера:

    Без аргументов
    string(21) "IntlGregorianCalendar"
    string(68) "martes 18 de junio de 2013 14:11:02 Hora de verano de Europa Central"

    Явное указание часового пояса
    string(21) "IntlGregorianCalendar"
    string(45) "martes 18 de junio de 2013 12:11:02 GMT+00:00"

    Явное указание языкового стандарта (с календарём)
    string(12) "IntlCalendar"
    string(70) "martes 28 de Khordad de 1392 14:11:02 Hora de verano de Europa Central"

### Смотрите также

- IntlGregorianCalendar::__construct() - Конструктор класса григорианского календаря

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open