(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
Description
Style orienté objet
public
IntlDateFormatter::setTimeZone(IntlTimeZone|DateTimeZone|string|null
$timezone
): ?bool
datefmt_set_timezone(IntlDateFormatter
$formatter
, IntlTimeZone|DateTimeZone|string|null
$timezone
): ?bool
Liste de paramètres
-
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.
Valeurs de retour
Retourne null
en cas de succès, false
si une erreur survient.
Exemples
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
)
Voir aussi
- IntlDateFormatter::getTimezone() - Récupère le formateur du décalage horaire