IntlCalendar::add()
(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)
Add a(signed)amount of time to a field
说明
面向对象风格public IntlCalendar::add(int $field,int $amount): bool
过程化风格
intlcal_add(IntlCalendar$cal,int $field,int $amount): bool
Add a signed amount to a field. Adding a positive amount allows advances in time, even if the numeric value of the field decreases(e.g. when working with years in BC dates).
Other fields may need to adjusted – for instance, adding a month to the 31st of January will result in the 28th(or 29th)of February. Contrary to IntlCalendar::roll(), when a value wraps around, more significant fields may change. For instance, adding a day to the 31st of January will result in the 1st of February, not the 1st of Janurary.
参数
- $cal
The IntlCalendar resource.
- $field
One of the IntlCalendar date/time field constants. These are integer values between0and
IntlCalendar::FIELD_COUNT
.- $amount
The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant wil be moved into the past. The unit is implicit to the field type. For instance, hours for
IntlCalendar::FIELD_HOUR_OF_DAY
.
返回值
Returns TRUE
on success 或者在失败时返回FALSE
.
范例
IntlCalendar::add()
<?php ini_set('intl.default_locale', 'fr_FR'); ini_set('date.timezone', 'UTC'); $cal = new IntlGregorianCalendar(2012, 0 /* January */, 31); echo IntlDateFormatter::formatObject($cal), "\n"; $cal->add(IntlCalendar::FIELD_MONTH, 1); echo IntlDateFormatter::formatObject($cal), "\n"; $cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1); echo IntlDateFormatter::formatObject($cal), "\n";
以上例程会输出:
31 janv. 2012 00:00:00 29 févr. 2012 00:00:00 1 mars 2012 00:00:00