(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)
IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Définit le formateur pour le décalage horaire
Style orienté objet
Style procédural
$formatter, IntlTimeZone|DateTimeZone|string|null $timezone): ?boolDéfinit le décalage horaire utilisé par l'objet IntlDateFormatter.
formatterLe formatteur de ressource.
timezoneLe décalage horaire à utiliser avec ce formateur. Peut-être spécifié via les formats suivants :
   null, dans quel cas le fuseau horaire par défaut sera utilisé,
   comme spécifié dans le paramètre de configuration du fichier ini
   date.timezone ou par la fonction
   date_default_timezone_set() et comme retourné par
   date_default_timezone_get().
  
Un IntlTimeZone, qui sera utilisé directement.
Un DateTimeZone. Son identifiant sera extrait et un objet de fuseau horaire ICU sera créé; le fuseau horaire sera soutenu par la base de données de l'ICU, et non par PHP.
   Une chaîne de caractères, qui devrait être un identifiant de fuseau horaire ICU valide.
   Voir IntlTimeZone::createTimeZoneIDEnumeration(). Les
   décalages bruts tels que "GMT+08:30" sont aussi acceptés.
  
   Retourne null en cas de succès, false si une erreur survient.
  
Exemple #1 Exemple avec 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());
L'exemple ci-dessus va afficher :
NULL
    Europe/Amsterdam
IntlTimeZone
    Europe/Lisbon
DateTimeZone
    Europe/Paris
String
    Europe/Rome
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+00:30
    [rawOffset] => 1800000
    [currentOffset] => 1800000
)