(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::__construct -- timezone_open — Crée un nouvel objet DateTimeZone
Style orienté objet
Style procédural
Crée un nouvel objet DateTimeZone.
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.
timezone
Un des fuseaux horaires supportés, une valeur de décalage (+0200), ou une abréviation de fuseau (BST).
Retourne un objet DateTimeZone, en cas de succès.
Style procédural retourne false
en cas d'erreur..
Cette méthode lance une DateInvalidTimeZoneException si le fuseau horaire fourni n'est pas reconnu comme un fuseau horaire valide. Antérieur à PHP 8.3, ceci était une Exception.
Version | Description |
---|---|
8.3.0 | Les valeurs invalides lance désormais une DateInvalidTimeZoneException au lieu d'une Exception générique. |
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 :
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)