(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::set — Define un campo de tiempo o varios campos comunes a la vez
Estilo orientado a objetos
$year,$month,$dayOfMonth = NULL,$hour = NULL,$minute = NULL,$second = NULLEstilo procedimental
$cal,$year,$month,$dayOfMonth = NULL,$hour = NULL,$minute = NULL,$second = NULLDefine ya sea un campo específico con el valor dado, o define varios campos comunes a la vez. El rango de valores aceptables depende de si el calendario utiliza el modo tolerante.
Para los campos que entran en conflicto, los campos definidos más tarde tienen prioridad.
Este método no puede ser llamado con exactamente cuatro argumentos.
calAn IntlCalendar instance.
field
 Una de las constantes del campo
 fecha/hora de IntlCalendar. Son valores de tipo
 integer entre 0 y
 IntlCalendar::FIELD_COUNT.
valueEl nuevo valor del campo dado.
year
      El nuevo valor para IntlCalendar::FIELD_YEAR.
     
month
      El nuevo valor para IntlCalendar::FIELD_MONTH.
      La secuencia de los meses comienza en cero, es decir que enero es
      representado por 0, febrero por 1, ..., diciembre por 11 y Undecember (si
      el calendario lo soporta) por 12.
     
dayOfMonth
      El nuevo valor para IntlCalendar::FIELD_DAY_OF_MONTH.
     
hour
      El nuevo valor para IntlCalendar::FIELD_HOUR_OF_DAY.
     
minute
      El nuevo valor para IntlCalendar::FIELD_MINUTE.
     
second
      El nuevo valor para IntlCalendar::FIELD_SECOND.
     
   Retorna siempre true.
  
| Versión | Descripción | 
|---|---|
| 8.2.0 | El tipo de retorno es ahora true, anteriormente era bool. | 
| 8.4.0 | Esto ha sido deprecado en favor de los métodos IntlCalendar::setDate() y IntlCalendar::setDateTime(). | 
Ejemplo #1 IntlCalendar::set()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
//Las últimas llamadas tienen prioridad
$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);
//el tiempo no ha sido recalculado. Si borramos el año extendido,
//el año definido antes será utilizado
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));El ejemplo anterior mostrará:
string(20) "01/07/2011, 00:00:00" string(20) "01/07/2012, 00:00:00"
