(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)
IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Establece la zona horaria del formateador
Estilo orientado a objetos
Estilo por procedimientos
Establece la zona horaria que se usará al formatear fechas u horas con este objeto.
zone
La zona horaria a usar para este formateador. Puede ser especificada en las siguientes formas:
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.
Ejemplo #1 Ejemplos de IntlDateFormatter::setTimeZone()
<?php
ini_set('date.timezone', 'Europe/Amsterdam');
$formatter = IntlDateFormatter::create(NULL, NULL, NULL, "UTC");
$formatter->setTimeZone(NULL);
echo "NULL\n ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('Europe/Rome');
echo "String\n ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('GMT+00:30');
print_r($formatter->getTimeZone());
El resultado del ejemplo sería:
NULL Europe/Amsterdam IntlTimeZone Europe/Lisbon DateTimeZone Europe/Paris String Europe/Rome IntlTimeZone Object ( [valid] => 1 [id] => GMT+00:30 [rawOffset] => 1800000 [currentOffset] => 1800000 )