(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)
IntlCalendar::set — Establecer un campo de instante o varios campos en común de una vez
Estilo orientado a objetos
$field
, int $value
)$year
, int $month
[, int $dayOfMonth
= NULL
[, int $hour
= NULL
[, int $minute
= NULL
[, int $second
= NULL
]]]] )Estilo por procedimientos
$cal
, int $year
, int $month
[, int $dayOfMonth
= NULL
[, int $hour
= NULL
[, int $minute
= NULL
[, int $second
= NULL
]]]] )Establece un campo al valor dado o varion campos en común de una vez. El rango de valores que se aceptan dependen de si el calendario está empleando el modo tolerante.
Para campos que entren en conflicto, los campos que se establezcan después tienen prioridad.
Este método no se puede invocar con exactamente cuatro argumentos.
cal
El recurso IntlCalendar.
field
Una de las constantes del campo
fecha/hora de IntlCalendar. Son valores de tipo
integer entre 0 y
IntlCalendar::FIELD_COUNT
.
value
El nuevo valor para el campo dado.
year
El nuevo valor para IntlCalendar::FIELD_YEAR
.
month
El nuevo valor para IntlCalendar::FIELD_MONTH
.
dayOfMonth
El nuevo valor para IntlCalendar::FIELD_DAY_OF_MONTH
.
La secuencia de meses empieza en cero, es decir, enero está representado por 0,
febrero por 1, …, diciembre es 11 y undiciembre (si el calendario lo
posee) es 12.
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
.
Devuelve TRUE
en caso de éxito, FALSE
en caso de error.
Ejemplo #1 IntlCalendar::set()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
// Las llamadas realizadas después 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);
// La hora aún no se ha recalculado. Si limpiamos el año ampliado,
// se empleará el año establecido antes
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));
El resultado del ejemplo sería:
string(20) "01/07/2011, 00:00:00" string(20) "01/07/2012, 00:00:00"