Crea un nuevo objeto IntlCalendar

# IntlCalendar::createInstance

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

IntlCalendar::createInstance — Crea un nuevo objeto IntlCalendar

### Descripción

Estilo orientado a objetos

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

Estilo procedimental

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

Al proporcionar una zona horaria y una configuración local, este método crea un objeto IntlCalendar. Este método factoriel puede devolver una subclase de la clase IntlCalendar.

El calendario creado representará la instancia del tiempo en el momento en que fue creado, basado en el tiempo del sistema. Los campos pueden ser vaciados con el método IntCalendar::clear() sin argumentos. Ver también el método IntlGregorianCalendar::__construct().

### Parámetros

`timezone`

  La zona horaria a utilizar.

  - `null`, en cuyo caso se usará la zona horaria predeterminada, tal como está especificada en el ajuste ini date.timezone o a través de la función date_default_timezone_set() y como es devuelto por date_default_timezone_get().

  - Un IntlTimeZone, que se usará directamente.

  - Un DateTimeZone. Su identificador será extraido y se creará un objeto de zona horaria de ICU; la zona horaria será proporcionada por la base de datos de ICU, no por la de PHP.

  - Un string, que debería ser un identificador de zona horaria de ICU válido. Véase IntlTimeZone::createTimeZoneIDEnumeration(). Los índices puros como `"GMT+08:30"` también se aceptan.

`locale`

  Una configuración local a utilizar, o `null` para utilizar la configuración local por defecto.

### Valores devueltos

La instancia del objeto IntlCalendar creado, o `null` si ocurre un error.

### Ejemplos

Ejemplo #1 Ejemplo con IntlCalendar::createInstance()

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

    $cal = IntlCalendar::createInstance();
    echo "Sin argumentos\n";
    var_dump(get_class($cal),
            IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
    echo "\n";

    echo "Zona horaria explícita\n";
    $cal = IntlCalendar::createInstance(IntlTimeZone::getGMT());
    var_dump(get_class($cal),
            IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
    echo "\n";

    echo "Configuración local explícita (con el calendario)\n";
    $cal = IntlCalendar::createInstance(NULL, 'es_ES@calendar=persian');
    var_dump(get_class($cal),
            IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));

El ejemplo anterior mostrará:

    Sin argumentos
    string(21) "IntlGregorianCalendar"
    string(68) "martes 18 de junio de 2013 14:11:02 Hora de verano de Europa Central"

    Zona horaria explícita
    string(21) "IntlGregorianCalendar"
    string(45) "martes 18 de junio de 2013 12:11:02 GMT+00:00"

    Configuración local explícita (con el calendario)
    string(12) "IntlCalendar"
    string(70) "martes 28 de Khordad de 1392 14:11:02 Hora de verano de Europa Central"

### Ver también

- IntlGregorianCalendar::__construct() - Crear la clase del calendario gregoriano

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