(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::add — 向字段添加(带符号的)时间量
面向对象风格
过程化风格
向字段添加带符号的值。添加正值允许时间向前推进,即使字段的数值减少(例如,在处理公元前日期的年份时)。
其他字段可能需要调整 - 例如,向 1 月 31 日添加一个月将导致 2 月 28 日(或 29 日)。与 IntlCalendar::roll() 相反,当值环绕时,更重要的字段可能会发生变化。例如,向 1 月 31 日添加一天将导致 2 月 1 日,而不是 1 月 1 日。
calendar
一个 IntlCalendar 实例。
field
一个 IntlCalendar 日期/时间 字段常量。这些是介于 0
和 IntlCalendar::FIELD_COUNT
之间的整数值。
value
要添加到当前字段的带符号值。如果该值为正,则时间将向前移动;如果该值为负,则时间将向过去移动。单位隐含于字段类型。例如,对于 IntlCalendar::FIELD_HOUR_OF_DAY
为小时。
示例 #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