PHP Conference Japan 2024

IntlCalendar::add

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

IntlCalendar::add向字段添加(带符号的)时间量

描述

面向对象风格

public IntlCalendar::add(int $field, int $value): bool

过程化风格

intlcal_add(IntlCalendar $calendar, int $field, int $value): bool

向字段添加带符号的值。添加正值允许时间向前推进,即使字段的数值减少(例如,在处理公元前日期的年份时)。

其他字段可能需要调整 - 例如,向 1 月 31 日添加一个月将导致 2 月 28 日(或 29 日)。与 IntlCalendar::roll() 相反,当值环绕时,更重要的字段可能会发生变化。例如,向 1 月 31 日添加一天将导致 2 月 1 日,而不是 1 月 1 日。

参数

calendar

一个 IntlCalendar 实例。

field

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

value

要添加到当前字段的带符号值。如果该值为正,则时间将向前移动;如果该值为负,则时间将向过去移动。单位隐含于字段类型。例如,对于 IntlCalendar::FIELD_HOUR_OF_DAY 为小时。

返回值

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

范例

示例 #1 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

添加注释

用户贡献注释

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