IntlCalendar::roll
(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::roll — Adiciona valor ao campo sem transferir para campos mais significativos
Descrição
Estilo orientado a objetos
Estilo procedural
Adiciona uma quantidade (com sinal) a um campo. A diferença em relação a IntlCalendar::add() é que quando o valor do campo passar do limite, a função não transfere este transbordamento para campos mais significativos.
Parâmetros
calendar
-
Uma instância de IntlCalendar.
field
-
Uma das constantes de campo de data/horário da classe IntlCalendar. São valores inteiros entre
0
eIntlCalendar::FIELD_COUNT
. value
-
A quantidade (com sinal) para adicionar ao campo,
true
para aumentar (adicionar1
), oufalse
para reduzir (subtrair1
).
Exemplos
Example #1 IntlCalendar::roll()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
$cal = new IntlGregorianCalendar(2013, 5 /* junho */, 30);
$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
var_dump(IntlDateFormatter::formatObject($cal)); // "01/07/2013, 00:00:00"
$cal->set(2013, 5 /* junho */, 30);
$cal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true); // soma +1
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"
O exemplo acima produzirá:
string(20) "01/07/2013, 00:00:00" string(20) "01/06/2013, 00:00:00"
Veja Também
- IntlCalendar::add() - Adiciona uma quantidade de tempo (com sinal) a um campo
- IntlCalendar::set() - Define um campo de horário ou vários campos comuns de uma vez