(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::getSkippedWallTimeOption â Obtient le comportement pour la gestion des heures murales sautĂ©es
Style orienté objet
Style procédural
Renvoie la stratégie actuelle pour la gestion des heures murales sautées
lorsque l'horloge est avancée lors des transitions de début d'heure d'été.
La valeur par défaut est IntlCalendar::WALLTIME_LAST.
Le calendrier doit ĂȘtre tolĂ©rant pour que cette option ait un effet, sinon tenter de dĂ©finir une heure inexistante provoquera une erreur.
Cette fonction requiert ICU 4.9 ou plus récent.
calendar
Une des constantes IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST ou
IntlCalendar::WALLTIME_NEXT_VALID.
Exemple #1 IntlCalendar::getSkippedWallTimeOption()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);
//Le 31 Mars Ă 0100, l'horloge avancera d'une heure de GMT+00 Ă GMT+01
$cal = new IntlGregorianCalendar(2013, 2 /* March */, 31, 1, 30);
var_dump(
$cal->isLenient(), // true
$cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST
);
$formatter = IntlDateFormatter::create(
NULL,
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000));
$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getSkippedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);
var_dump($formatter->format($cal->getTime() / 1000));
$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID);
var_dump($cal->getSkippedWalltimeOption()); // 2 WALLTIME_NEXT_VALID
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);
var_dump($formatter->format($cal->getTime() / 1000));L'exemple ci-dessus va afficher :
bool(true) int(0) string(40) "Sunday, March 31, 2013 at 1:30:00 AM GMT" int(1) string(41) "Sunday, March 31, 2013 at 12:30:00 AM GMT" int(2) string(40) "Sunday, March 31, 2013 at 1:00:00 AM GMT"