(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::setTimeZone — Définit le fuseau horaire utilisé par ce calendrier
Style orienté objet
Style procédural
$calendar, IntlTimeZone|DateTimeZone|string|null $timezone): boolDéfinit un nouveau fuseau horaire pour ce calendrier. Le moment représenté par cet objet est préservé au détriment des valeurs des champs.
calendartimezoneLe 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 string, 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)