IntlCalendar::roll

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::rollAñadir un valor a un campo si acarrear más campos significativos

Descripción

Estilo orientado a objetos

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

Estilo por procedimientos

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

Añade una cantidad (con signo) a un campo. La diferencia con respecto a IntlCalendar::add() es que cuando el valor del campo se desborda, no acarrea más campos significativos.

Parámetros

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.

amountOrUpOrDown

La cantidad (con signo) a añadir al campo, TRUE para subir (añadiendo 1), o FALSE para bajar (sustrayendo 1).

Valores devueltos

Devuelve TRUE en caso de éxito, FALSE en caso de error.

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); // subir, lo mismo que subir +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