IntlCalendar::add
(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::add — フィールドに (符号付きの) 一定量の時間を追加する
説明
オブジェクト指向型
手続き型
フィールドに符号付きの量を追加します。 正の量を追加すると、時間を前に進めることができます。 たとえ、フィールドの数値の値が減るとしても、同じことができます。 (つまり、紀元前の年代を扱っていてもです)
他のフィールドは調整する必要があるかも知れません - たとえば、1月の31日に1ヶ月を足したとします。 そうすると、結果は 2月の28日(または29日) になるでしょう。 IntlCalendar::roll() とは異なり、 値が1周して元に戻る場合、 より重要なフィールドの値が変わる可能性があります。 たとえば、1月31日に1日足すと、1月1日ではなく、 2月1日になります。
パラメータ
calendar
-
IntlCalendar クラスのインスタンス。
field
-
IntlCalendar の日付/時刻 フィールド定数 のいずれか。
0
からIntlCalendar::FIELD_COUNT
までの間の整数値です。 value
-
現在のフィールドに加算する、符号付きの値。 値が正の場合、 時は前に進みます。負の値の場合、時は過去に遡ります。 前後する単位は、フィールドによって暗黙のうちに決まります。 たとえば、
IntlCalendar::FIELD_HOUR_OF_DAY
の場合は 1時間単位です。
例
例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