(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::set — Set a time field or several common fields at once
Style orienté objet
$field, int $value): true$year,$month,$dayOfMonth = NULL,$hour = NULL,$minute = NULL,$second = NULLStyle procédural
$cal,$year,$month,$dayOfMonth = NULL,$hour = NULL,$minute = NULL,$second = NULLSets either a specific field to the given value, or sets at once several common fields. The range of values that are accepted depend on whether the calendar is using the lenient mode.
For fields that conflict, the fields that are set later have priority.
This method cannot be called with exactly four arguments.
calUne instance IntlCalendar.
field
 Une constantes de champ
 date/heure IntlCalendar. Ceux sont des valeurs entières
 comprises entre 0 et
 IntlCalendar::FIELD_COUNT.
valueThe new value of the given field.
year
      The new value for IntlCalendar::FIELD_YEAR.
     
month
      The new value for IntlCalendar::FIELD_MONTH.
      The month sequence is zero-based, i.e., January is represented by 0,
      February by 1, …, December is 11 and Undecember (if the calendar has
      it) is 12.
     
dayOfMonth
      The new value for IntlCalendar::FIELD_DAY_OF_MONTH.
     
hour
      The new value for IntlCalendar::FIELD_HOUR_OF_DAY. 
     
minute
      The new value for IntlCalendar::FIELD_MINUTE.
      
second
      The new value for IntlCalendar::FIELD_SECOND.  
     
   Retourne toujours true.
  
| Version | Description | 
|---|---|
| 8.2.0 | Le type de retour est maintenant true, auparavant il était bool. | 
Exemple #1 IntlCalendar::set()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
//Calls made later have priority
$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);
//the time has not been recalculated yet. If we clear the extended year,
//the year set before will be used
$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"