(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::add — Añade una duración (con signo) a un campo
Estilo orientado a objetos
Estilo procedimental
Añade una duración con signo a un campo. La adición de una duración positiva permite avanzar en el tiempo, incluso si el valor numérico del campo disminuye (por ejemplo, cuando se trabaja con años en fechas BC).
Los otros campos deben ajustarse; por ejemplo, añadir un mes a la fecha del 31 de Enero devolverá el 28 (o 29) de Febrero. A diferencia de la función IntlCalendar::roll(), cuando un valor abarca varios valores, varios campos pueden cambiar significativamente. Por ejemplo, añadir un día al 31 de Enero devolverá el 1 de Febrero, y no el 1 de Enero.
calendar
An IntlCalendar instance.
field
Una de las constantes del campo
fecha/hora de IntlCalendar. Son valores de tipo
integer entre 0
y
IntlCalendar::FIELD_COUNT
.
value
La duración con signo a añadir al campo actual. Si la duración es positiva,
el instante se moverá hacia adelante; si es negativa, el instante se moverá
hacia el pasado. La unidad es implícita según el tipo de campo. Por ejemplo,
será en horas para la constante
IntlCalendar::FIELD_HOUR_OF_DAY
.
Ejemplo #1 Ejemplo con 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";
El ejemplo anterior mostrará :
31 janv. 2012 00:00:00 29 févr. 2012 00:00:00 1 mars 2012 00:00:00