IntlCalendar::roll

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

IntlCalendar::roll向字段添加值,但不进位到更重要的字段

说明

面向对象风格

public IntlCalendar::roll(int $field, int|bool $value): bool

过程式风格

intlcal_roll(IntlCalendar $calendar, int $field, int|bool $value): bool

向字段添加(有符号)数量。与 IntlCalendar::add() 相比,当字段值溢出时,它不会进位到更重要的字段。

参数

calendar

一个 IntlCalendar 实例。

field

一个 IntlCalendar 日期/时间 字段常量。这些是介于 0IntlCalendar::FIELD_COUNT 之间的整数。

value

要添加到字段的(有符号)数量,true 用于向上滚动(添加 1),或 false 用于向下滚动(减去 1)。

返回值

成功时返回 true,失败时返回 false

范例

示例 #1 IntlCalendar::roll()

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

$cal = new IntlGregorianCalendar(2013, 5 /* 六月 */, 30);

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

$cal->set(2013, 5 /* 六月 */, 30);
$cal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true); // 向上滚动,与滚动 +1 相同
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"

以上示例将输出

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

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top