IntlCalendar
PHP Manual

IntlCalendar::roll

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

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

Description

Style orienté objet

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

Style procédural

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.

Liste de paramètres

cal

The IntlCalendar resource.

field

Une constantes de champ date/heure IntlCalendar. Ceux sont des valeurs entières comprises entre 0 et 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).

Valeurs de retour

Returns TRUE on success or FALSE on failure.

Exemples

Exemple #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"

L'exemple ci-dessus va afficher :

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

Voir aussi


IntlCalendar
PHP Manual