(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::__construct -- timezone_open — Crée un nouvel objet DateTimeZone
Description
Style orienté objet
public
DateTimeZone::__construct(string
$timezone
)
timezone_open(string
$timezone
): DateTimeZone|false
Un objet DateTimeZone fournit l'accès à trois types différents de règles
de fuseau horaires : un décalage UTC (type 1
), une
abréviation de fuseau horaire (type 2
), et un
identifiant de fuseau horaire tel que
publié dans la base de donnée de fuseau horaire IANA (type 3
).
L'objet DateTimeZone peut être attaché aux objets DateTime
et DateTimeImmutable enfin d'être en mesure de rendre
le fuseau horaire encapsulé par ces objets dans un fuseau horaire local.
Liste de paramètres
-
timezone
-
Un des fuseaux horaires supportés,
une valeur de décalage (+0200), ou une abréviation de fuseau (BST).
Valeurs de retour
Retourne un objet DateTimeZone, en cas de succès.
Style procédural retourne false
en cas d'erreur..
Erreurs / Exceptions
Cette méthode émet une exception Exception,
si le fuseau horaire fourni n'est pas reconnu.
Exemples
Exemple #1 Creating and attaching DateTimeZone to a DateTimeImmutable
<?php
$d = new DateTimeImmutable("2022-06-02 15:44:48 UTC");
$timezones = [ 'Europe/London', 'GMT+04:45', '-06:00', 'CEST' ];
foreach ($timezones as $tz) {
$tzo = new DateTimeZone($tz);
$local = $d->setTimezone($tzo);
echo $local->format(DateTimeInterface::RFC2822 . ' — e'), "\n";
}
?>
L'exemple ci-dessus va afficher :
Thu, 02 Jun 2022 16:44:48 +0100 — Europe/London
Thu, 02 Jun 2022 20:29:48 +0445 — +04:45
Thu, 02 Jun 2022 09:44:48 -0600 — -06:00
Thu, 02 Jun 2022 17:44:48 +0200 — CEST
Exemple #2 Interception des erreurs avec DateTimeZone
<?php
// Gestion des erreurs par interception des exceptions
$timezones = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');
foreach ($timezones as $tz) {
try {
$mars = new DateTimeZone($tz);
} catch(Exception $e) {
echo $e->getMessage() . '<br />';
}
}
?>
L'exemple ci-dessus va afficher :
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos)
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)