PHP 8.5.0 Alpha 2 available for testing

IntlCalendar::fieldDifference

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

IntlCalendar::fieldDifferenceCalcula la diferencia entre el tiempo dado y el tiempo del objeto

Descripción

Estilo orientado a objetos

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

Estilo procedimental

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

Devuelve la diferencia entre el tiempo dado y el tiempo de este objeto, respetando la cantidad especificada por el argumento field.

Este método está previsto para ser llamado sucesivamente, primero con el campo de interés más significativo, luego con el campo menos significativo. Al final, como efecto secundario, el valor del calendario para el campo especificado será avanzado por la duración devuelta.

Parámetros

calendar

An IntlCalendar instance.

timestamp

El tiempo utilizado para la comparación con la cantidad representada por el campo field. Para que el resultado sea positivo, el tiempo proporcionado en este argumento debe estar en el futuro con respecto al tiempo del objeto del método.

field

El campo que representa la cantidad a comparar.

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

Devuelve una diferencia (con signo) de tiempo, utilizando la unidad asociada con el campo especificado o false si ocurre un error.

Ejemplos

Ejemplo #1 Ejemplo con 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
"Tiempo, antes de la operación: ", IntlDateFormatter::formatObject($cal1), "\n";

printf(
"La diferencia de tiempo es de %d año(s), %d mes(es), "
. "%d día(s), %d hora(s) y %d minuto(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)
);

// ahora, el tiempo objetivo ha sido avanzado, excepto para los segundos,
// para los cuales no medimos la diferencia
echo "Tiempo, después de la operación: ", IntlDateFormatter::formatObject($cal1), "\n";

El ejemplo anterior mostrará :

Tiempo, antes de la operación: 29 feb. 2012 09:00:11
La diferencia de tiempo es de 1 año(s), 0 mes(es), 1 día(s), 0 hora(s) y 19 minuto(s)
Tiempo, después de la operación: 1 mar. 2013 09:19:11

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top