(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.
cal
An IntlCalendar instance.
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 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"