(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::clear — Vide un ou tous les champs
Style orienté objet
Style procédural
Vide soit tous les champs, soit un champ spécifique. Un champ vide
est marqué comme non utilisé, lui donnant ainsi la plus petite des priorités
par rapport aux champs surchargés ou même les valeurs par défaut
lors du calcul du temps. De plus, cette valeur est définie à
0
, donnant ainsi au champ une priorité basse ; cette
valeur peut avoir été définie à une autre valeur par la durée que
le champ a mis à terminer sa requête.
calendar
Une instance IntlCalendar.
field
Une constantes de champ
date/heure IntlCalendar. Ceux sont des valeurs entières
comprises entre 0
et
IntlCalendar::FIELD_COUNT
.
Retourne toujours true
.
Version | Description |
---|---|
8.2.0 |
Le type de retour est maintenant true , auparavant il était bool.
|
Exemple #1 Exempe avec IntlCalendar::clear()
<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'UTC');
$fields = array(
'FIELD_ERA' => 0,
'FIELD_YEAR' => 1,
'FIELD_MONTH' => 2,
'FIELD_WEEK_OF_YEAR' => 3,
'FIELD_WEEK_OF_MONTH' => 4,
'FIELD_DATE' => 5,
'FIELD_DAY_OF_YEAR' => 6,
'FIELD_DAY_OF_WEEK' => 7,
'FIELD_DAY_OF_WEEK_IN_MONTH' => 8,
'FIELD_AM_PM' => 9,
'FIELD_HOUR' => 10,
'FIELD_HOUR_OF_DAY' => 11,
'FIELD_MINUTE' => 12,
'FIELD_SECOND' => 13,
'FIELD_MILLISECOND' => 14,
'FIELD_ZONE_OFFSET' => 15,
'FIELD_DST_OFFSET' => 16,
'FIELD_YEAR_WOY' => 17,
'FIELD_DOW_LOCAL' => 18,
'FIELD_EXTENDED_YEAR' => 19,
'FIELD_JULIAN_DAY' => 20,
'FIELD_MILLISECONDS_IN_DAY' => 21,
'FIELD_IS_LEAP_MONTH' => 22,
'FIELD_FIELD_COUNT' => 23,
);
function getSetFields(IntlCalendar $cal) {
global $fields;
$ret = array();
foreach ($fields as $name => $value) {
if ($cal->isSet($value)) {
$ret[] = $name;
}
}
return $ret;
}
$cal = new IntlGregorianCalendar(2013, 2 /* Mars */, 15);
echo "Après la création d'un GregorianCalendar\n";
print_r(getSetFields($cal));
echo "\n";
echo IntlDateFormatter::formatObject($cal), "\n";
echo "Après que le formateur ait demandé l'année étendue\n";
print_r(getSetFields($cal));
echo "\n";
$cal->clear(IntlCalendar::FIELD_YEAR);
echo "Après que l'année ait été vidée, la date reste la même\n";
echo IntlDateFormatter::formatObject($cal), "\n";
echo "car FIELD_EXTENDED_YEAR est toujours défini\n";
print_r(getSetFields($cal));
echo "\n";
var_dump($cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR));
echo "Après que l'année étendue ait été vidée\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";
echo "\n";
echo "Après que les champs aient été recalculés,\n"
. " l'année étendue est de nouveau définie (à 1970)\n";
print_r(getSetFields($cal));
echo "\n";
$cal->clear();
echo "Après l'appel d'une variante sans argument\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";
L'exemple ci-dessus va afficher :
Après la création d'un GregorianCalendar Array ( [0] => FIELD_ERA [1] => FIELD_YEAR [2] => FIELD_MONTH [3] => FIELD_DATE ) 15/03/2013 00:00:00 Après que le formateur ait demandé l'année étendue Array ( [0] => FIELD_ERA [1] => FIELD_YEAR [2] => FIELD_MONTH [3] => FIELD_DATE [4] => FIELD_EXTENDED_YEAR ) Après que l'année ait été vidée, la date reste la même 15/03/2013 00:00:00 car FIELD_EXTENDED_YEAR est toujours défini Array ( [0] => FIELD_ERA [1] => FIELD_MONTH [2] => FIELD_DATE [3] => FIELD_EXTENDED_YEAR ) bool(true) Après que l'année étendue ait été vidée Array ( [0] => FIELD_ERA [1] => FIELD_MONTH [2] => FIELD_DATE ) 15/03/1970 00:00:00 Après que les champs aient été recalculés, l'année étendue est de nouveau définie (à 1970) Array ( [0] => FIELD_ERA [1] => FIELD_MONTH [2] => FIELD_DATE [3] => FIELD_EXTENDED_YEAR ) Après l'appel d'une variante sans argument Array ( ) 01/01/1970 00:00:00