(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::set — Définit un champ de temps ou plusieurs champs communs en une seule fois
Style orienté objet
$year
,$month
,$dayOfMonth
= NULL,$hour
= NULL,$minute
= NULL,$second
= NULLStyle procédural
$cal
,$year
,$month
,$dayOfMonth
= NULL,$hour
= NULL,$minute
= NULL,$second
= NULLDéfinit soit un champ spécifique à la valeur donnée, soit définit en une seule fois plusieurs champs communs. La plage de valeurs acceptées dépend de si le calendrier utilise le mode tolérant.
Pour les champs qui entrent en conflit, les champs définis plus tard ont la priorité.
Cette méthode ne peut pas être appelée avec exactement quatre arguments.
cal
Une instance IntlCalendar.
field
Une constantes de champ
date/heure IntlCalendar. Ceux sont des valeurs entières
comprises entre 0
et
IntlCalendar::FIELD_COUNT
.
value
La nouvelle valeur du champ donné.
year
La nouvelle valeur pour IntlCalendar::FIELD_YEAR
.
month
La nouvelle valeur pour IntlCalendar::FIELD_MONTH
.
La séquence des mois commence à zéro, c'est-à-dire que janvier est
représenté par 0, février par 1, …, décembre par 11 et Undecember (si
le calendrier le supporte) par 12.
dayOfMonth
La nouvelle valeur pour IntlCalendar::FIELD_DAY_OF_MONTH
.
hour
La nouvelle valeur pour IntlCalendar::FIELD_HOUR_OF_DAY
.
minute
La nouvelle valeur pour IntlCalendar::FIELD_MINUTE
.
second
La nouvelle valeur pour IntlCalendar::FIELD_SECOND
.
Retourne toujours true
.
Version | Description |
---|---|
8.2.0 |
Le type de retour est maintenant true , auparavant il était bool.
|
8.4.0 | Ceci a été déprécié au profit des méthodes IntlCalendar::setDate() et IntlCalendar::setDateTime(). |
Exemple #1 IntlCalendar::set()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
//Les derniers appels ont la priorité
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
//le temps n'a pas été recalculé. Si nous effaçons l'année étendue,
//l'année définie avant sera utilisée
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));
L'exemple ci-dessus va afficher :
string(20) "01/07/2011, 00:00:00" string(20) "01/07/2012, 00:00:00"