(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::setTimeZone — Défini le fuseau horaire utilisé par ce calendrier
Style orienté objet
Style procédural
$calendar
, IntlTimeZone|DateTimeZone|string|null $timezone
): boolDéfini un nouveau fuseau horaire pour ce calendrier. Le moment représenté par cet objet est préservé au détriment des valeurs des champs.
calendar
Une instance IntlCalendar.
timezone
Le nouveau fuseau horaire à utiliser par ce calendrier. Il peut être spécifié de la façon suivante :
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.
Exemple #1 Exemple avec IntlCalendar::setTimeZone()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');
$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";
$cal->setTimeZone(IntlTimeZone::getGMT());
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";
$cal->setTimeZone('GMT+03:33');
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";
L'exemple ci-dessus va afficher :
sábado, 1 de junio de 2013 12:00:00 Hora de verano de Europa occidental (instant 1370084400000) sábado, 1 de junio de 2013 11:00:00 GMT (instant 1370084400000) sábado, 1 de junio de 2013 14:33:00 GMT+03:33 (instant 1370084400000)