IntlCalendar
PHP Manual

IntlCalendar::roll

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::rollAdd value to field without carrying into more significant fields

Descripción

Estilo orientado a objetos

public bool IntlCalendar::roll ( int $field , mixed $amountOrUpOrDown )

Estilo por procedimientos

bool intlcal_roll ( IntlCalendar $cal , int $field , mixed $amountOrUpOrDown )

Adds a (signed) amount to a field. The difference with respect to IntlCalendar::add() is that when the field value overflows, it does not carry into more significant fields.

Parámetros

cal

The IntlCalendar resource.

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

amountOrUpOrDown

The (signed) amount to add to the field, TRUE for rolling up (adding 1), or FALSE for rolling down (subtracting 1).

Valores devueltos

Returns TRUE on success or FALSE on failure.

Ejemplos

Ejemplo #1 IntlCalendar::roll()

<?php
ini_set
('date.timezone''Europe/Lisbon');
ini_set('intl.default_locale''pt_PT');

$cal = new IntlGregorianCalendar(2013/* June */30);

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH1);
var_dump(IntlDateFormatter::formatObject($cal)); // "01/07/2013, 00:00:00"

$cal->set(2013/* June */30);
$cal->roll(IntlCalendar::FIELD_DAY_OF_MONTHtrue); // roll up, same as rolling +1
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"

El resultado del ejemplo sería:

string(20) "01/07/2013, 00:00:00"
string(20) "01/06/2013, 00:00:00"

Ver también


IntlCalendar
PHP Manual