Calcula a diferença entre o horário fornecido e o horário deste objeto

# IntlCalendar::fieldDifference

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

IntlCalendar::fieldDifference — Calcula a diferença entre o horário fornecido e o horário deste objeto

### Descrição

Estilo orientado a objetos

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

Estilo procedural

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

Calcula a diferença entre o horário fornecido e o horário definido para este objeto, com respeito à quantidade especificada pelo parâmetro `field`.

Este método foi projetado para ser chamado sucessivamente, primeiro com o campo de interesse mais significativo até o menos significativo. Para isto, como efeito colateral, o valor do campo para este calendário é avançado na quantidade retornada.

### Parâmetros

`calendar`
  Uma instância de IntlCalendar.
`timestamp`

  O horário com o qual a quantidade representada pelo `field` será comparada. Para que o resultado seja positivo, o horário informado para este parâmetro deve ser posterior ao do objeto em que este método está sendo chamado.

`field`

  O campos que representa a quantidade sendo comparada.

  Uma das constantes de campo de data/horário da classe IntlCalendar. São valores inteiros entre `0` e `IntlCalendar::FIELD_COUNT`.

### Valor Retornado

Retorna uma diferença (com sinal) de tempo na unidade associada com o campo especificado ou `false` em caso de falha.

### Exemplos

Exemplo #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 "Horário antes: ", IntlDateFormatter::formatObject($cal1), "\n";

    printf(
        "A diferença de tempo é de %d ano(s), %d mês(es), "
      . "%d dia(s), %d hora(s) e %d minutos(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)
    );

    //agora o objeto avançou para o tempo alvo, exteto pelos segundos,
    //para os quais não foram medidas as diferenças
    echo "Horário depois: ", IntlDateFormatter::formatObject($cal1), "\n";

O exemplo acima produzirá:

    Horário antes: 29 févr. 2012 09:00:11
    A diferença de tempo é de 1 ano(s), 0 mês(es), 1 dia(s), 0 hora(s) e 19 minutos(s)
    Horário depois: 1 mars 2013 09:19:11

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