IntlDateFormatter::setTimeZone
datefmt_set_timezone
(PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Définit le formateur pour le décalage horaire
Description
Style orienté objet
Style procédural
Définit le décalage horaire à utiliser lors du formattage des dates ou des heures avec cet objet.
Liste de paramètres
-
zone
-
Le décalage horaire à utiliser avec ce formateur. Peut-être spécifié via les formats suivants :
-
NULL
, in which case the default timezone will be used, as specified in the ini setting date.timezone or through the function date_default_timezone_set() and as returned by date_default_timezone_get(). -
An IntlTimeZone, which will be used directly.
-
A DateTimeZone. Its identifier will be extracted and an ICU timezone object will be created; the timezone will be backed by ICUʼs database, not PHPʼs.
-
A string, which should be a valid ICU timezone identifier. See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted.
-
Valeurs de retour
Retourne TRUE
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\t", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n\t", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n\t", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('Europe/Rome');
echo "String\n\t", $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 )