# IntlCalendar::createInstance

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

IntlCalendar::createInstance — Crear un nuevo IntlCalendar

### Descripción

Estilo orientado a objetos

public static IntlCalendar::createInstance(mixed `$timeZone` = NULL, string `$locale` = ""): IntlCalendar

Estilo por procedimientos

intlcal_create_instance(mixed `$timeZone` = NULL, string `$locale` = ""): IntlCalendar

Dados una zona horaria y configuración regional, este método creará un objeto IntlCalendar. Este método de fábrica podría devolver una subclase de IntlCalendar.

El calendario creado representará la instancia del instante en que fue creado, basándose en la hora del sistema. Todos los campos pueden ser limpiados llamando a IntCalendar::clear() sin argumentos. Véase también IntlGregorianCalendar::__construct().

### Parámetros

`timeZone`

  La zona horaria a emplear.

  - `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 configurazión regional a usar o `null` para utilizar la configuración regional predeterminada.

### Valores devueltos

La instancia de IntlCalendar creada o `null` en caso de error.

### Ejemplos

Ejemplo #1 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 regional explícita (con calendario)\n";
$cal = IntlCalendar::createInstance(NULL, 'es_ES@calendar=persian');
var_dump(get_class($cal),
IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));`

El resultado del ejemplo sería:

    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 regional explícita (con 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()