(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::set — Define um campo de horário ou vários campos comuns de uma vez
Estilo orientado a objetos
$year
,$month
,$dayOfMonth
= NULL,$hour
= NULL,$minute
= NULL,$second
= NULLEstilo procedural
$cal
,$year
,$month
,$dayOfMonth
= NULL,$hour
= NULL,$minute
= NULL,$second
= NULLDefine um campo específico para o valor fornecido, ou define de uma só vez vários campos comuns. O intervalo de valores aceitos depende se o calendário está usado o modo leniente.
Para campos que conflitarem entre si, os campos que forem definidos mais tarde têm prioridade.
Este método não pode ser chamado com exatamente quatro argumentos.
cal
Uma instância de IntlCalendar.
field
Uma das constantes de campo de data/horário da classe IntlCalendar. São valores inteiros entre 0
e IntlCalendar::FIELD_COUNT
.
value
O novo valor para o campo informado.
year
O novo valor para IntlCalendar::FIELD_YEAR
.
month
O novo valor para IntlCalendar::FIELD_MONTH
. A sequência de meses é baseada em zero, isto é, janeiro é representado por 0, fevereiro por 1, …, dezembro é 11 e undecember (se o calendário tiver) é 12.
dayOfMonth
O novo valor para IntlCalendar::FIELD_DAY_OF_MONTH
.
hour
O novo valor para IntlCalendar::FIELD_HOUR_OF_DAY
.
minute
O novo valor para IntlCalendar::FIELD_MINUTE
.
second
O novo valor para IntlCalendar::FIELD_SECOND
.
Sempre retorna true
.
Exemplo #1 IntlCalendar::set()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
// Chamadas feitas mais tarde têm prioridade
$cal = new IntlGregorianCalendar(2013, 6 , 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));
$cal = new IntlGregorianCalendar(2013, 6 , 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
// O horário não foi recalculado ainda. Se o ano estendido for limpo,
// o ano definido anteriormente será usado
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));
O exemplo acima produzirá:
string(20) "01/07/2011, 00:00:00" string(20) "01/07/2012, 00:00:00"