(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.
formatter
Le formatteur de ressource.
timezone
Le 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.
Version | Description |
---|---|
8.3.0 |
Cette fonction retourne désormais true en cas de succès ; précédemment elle retournait null .
|
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 )