Вычисляет разницу между заданным временем и временем объекта

# 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 "Время до: ", IntlDateFormatter::formatObject($cal1), "\n";

    printf(
        "Разница во времени: %d год(лет), %d месяц(ев), "
      . "%d день(дней), %d час(ов) и %d минуту(минут)\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)
    );

    // теперь оно было продвинуто к целевому времени, за исключением секунд,
    // для которых мы не измеряли разницу
    echo "Время после: ", IntlDateFormatter::formatObject($cal1), "\n";

Результат выполнения приведённого примера:

    Время до: 29 févr. 2012 09:00:11
    Разница во времени: 1 год(лет), 0 месяц(ев), 1 день(дней), 0 час(ов) and 19 минуту(минут)
    Время после: 1 mars 2013 09:19:11

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