(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::add — Добавляет количество (со знаком) времени в поле
Объектно-ориентированный стиль
Процедурный стиль
Добавляет количество со знаком в поле. Добавление положительной суммы позволяет продвигаться во времени, даже если числовое значение поля уменьшается (например, при работе с годами до нашей эры).
Другие поля могут нуждаться в корректировке, например, добавление месяца к 31 января приведёт к 28 (или 29) февраля. В отличие от IntlCalendar::roll(), когда значение оборачивается, более важные поля могут измениться. Например, добавление 1 дня к 31 января приведёт к 1 февраля, а не к 1 января.
calendar
Экземпляр IntlCalendar.
field
Одна из представленных в классе IntlCalendar констант полей типа дата/время. Целое число
от 0
до
IntlCalendar::FIELD_COUNT
.
value
Количество со знаком, добавляемое к текущему полю. Если сумма положительная, момент времени будет перемещён вперёд;
если он отрицательный, момент времени будет перемещён в прошлое.
Единица неявно связана с типом поля. Например, часы для IntlCalendar::FIELD_HOUR_OF_DAY
.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #1 Пример использования 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";
Результат выполнения приведённого примера:
31 janv. 2012 00:00:00 29 févr. 2012 00:00:00 1 mars 2012 00:00:00