指定された時刻と、このオブジェクトの時刻の差を計算する

# IntlCalendar::fieldDifference

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

IntlCalendar::fieldDifference — 指定された時刻と、このオブジェクトの時刻の差を計算する

### 説明

オブジェクト指向型

public function IntlCalendar::fieldDifference(float `$timestamp`, int `$field`): int|false

手続き型

function intlcal_field_difference(IntlCalendar `$calendar`, float `$timestamp`, int `$field`): int|false

`field` に設定された量も考慮して、 指定された時刻と、このオブジェクトに設定された時刻の差を返します。

このメソッドは連続して呼び出すものです。 最初は、関心のある重要なフィールドからはじめ、 もっとも関心が薄いフィールドへと続きます。 最終的な副作用として、 このカレンダーの指定されたフィールドの値が、 返される量だけ進みます。

### パラメータ

`calendar`
  IntlCalendar クラスのインスタンス。
`timestamp`

  `field` が表す、比較する時刻の量。 結果を正の値にするには、 この引数で指定する値を、 このメソッドを呼び出すオブジェクトの時刻よりも、 未来に設定しなければいけません。

`field`

  比較される量を表すフィールド。

  IntlCalendar の日付/時刻 フィールド定数 のいずれか。 `0` から `IntlCalendar::FIELD_COUNT` までの間の整数値です。

### 戻り値

指定されたフィールドに関連付けられた単位で、 (符号付きで)時刻の差を返します。 失敗した場合に `false` を返します

### 例

例1 IntlCalendar::fieldDifference()

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

    $cal1 = IntlCalendar::fromDateTime('2012-02-29 09:00:11');
    $cal2 = IntlCalendar::fromDateTime('2013-03-01 09:19:29');
    $time = $cal2->getTime();

    echo "Time before: ", IntlDateFormatter::formatObject($cal1), "\n";

    printf(
        "The difference in time is %d year(s), %d month(s), "
      . "%d day(s), %d hour(s) and %d minute(s)\n",
        $cal1->fieldDifference($time, IntlCalendar::FIELD_YEAR),
        $cal1->fieldDifference($time, IntlCalendar::FIELD_MONTH),
        $cal1->fieldDifference($time, IntlCalendar::FIELD_DAY_OF_MONTH),
        $cal1->fieldDifference($time, IntlCalendar::FIELD_HOUR_OF_DAY),
        $cal1->fieldDifference($time, IntlCalendar::FIELD_MINUTE)
    );

    //now it was advanced to the target time, exception for the seconds,
    //for which we did not measure the difference
    echo "Time after: ", IntlDateFormatter::formatObject($cal1), "\n";

上の例の出力は以下となります。

    Time before: 29 févr. 2012 09:00:11
    The difference in time is 1 year(s), 0 month(s), 1 day(s), 0 hour(s) and 19 minute(s)
    Time after: 1 mars 2013 09:19:11

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open