Форматирует объект

# IntlDateFormatter::formatObject

# datefmt_format_object

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

IntlDateFormatter::formatObject -- datefmt_format_object — Форматирует объект

### Описание

Объектно-ориентированный стиль

public static function IntlDateFormatter::formatObject(IntlCalendar|DateTimeInterface `$datetime`, array|int|string|null `$format` = `null`, ?string `$locale` = `null`): string|false

Процедурный стиль

function datefmt_format_object(IntlCalendar|DateTimeInterface `$datetime`, array|int|string|null `$format` = `null`, ?string `$locale` = `null`): string|false

Функция позволяет форматировать объект IntlCalendar или DateTime без предварительного явного создания объекта IntlDateFormatter.

Временный IntlDateFormatter, который будет создан, принимает часовой пояс из переданного объекта. База данных часовых поясов, связанная с PHP, не будет использоваться - вместо неё будет использоваться ICU. Следовательно, идентификатор часового пояса, используемый в объектах DateTime, также должен существовать в базе данных ICU.

### Список параметров

`datetime`

  Объект типа IntlCalendar или DateTime. Будет использоваться информация о часовом поясе в объекте.

`format`

  Как отформатировать дату/время. Может быть либо массив (array) с двумя элементами (сначала стиль даты, затем стиль времени, может быть одна из констант: `IntlDateFormatter::NONE`, `IntlDateFormatter::SHORT`, `IntlDateFormatter::MEDIUM`, `IntlDateFormatter::LONG`, `IntlDateFormatter::FULL`), целое число (int) со значением одной из этих констант (в этом случае оно будет использоваться как для времени, так и для даты) или строка (string) в формате, описанном в » документации ICU. Если указано значение `null`, будет использоваться стиль по умолчанию.

`locale`

  Используемый языковой стандарт или `null` для использования значения по умолчанию.

### Возвращаемые значения

Строка с результатом или `false`, если возникла ошибка.

### Примеры

Пример #1 Пример использования IntlDateFormatter::formatObject()

    <?php
    /* часовой пояс по умолчанию не имеет значения; часовой пояс взят из объекта */
    ini_set('date.timezone', 'UTC');
    /* языковой стандарт по умолчанию берётся из этой настройки ini */
    ini_set('intl.default_locale', 'fr_FR');

    $cal = IntlCalendar::fromDateTime("2013-06-06 17:05:06 Europe/Dublin");
    echo "По умолчанию:\n\t",
            IntlDateFormatter::formatObject($cal),
            "\n";

    echo "Полная запись: \$format (full):\n\t",
            IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL),
            "\n";

    echo "Массив: \$format (none, full):\n\t",
            IntlDateFormatter::formatObject($cal, array(
                    IntlDateFormatter::NONE,
                    IntlDateFormatter::FULL)),
            "\n";

    echo "Строка: \$format (d 'of' MMMM y):\n\t",
            IntlDateFormatter::formatObject($cal, "d 'of' MMMM y", 'en_US'),
            "\n";

    echo "Объект DateTime:\n\t",
            IntlDateFormatter::formatObject(
                    new DateTime("2013-09-09 09:09:09 Europe/Madrid"),
                    IntlDateFormatter::FULL,
                    'es_ES'),
            "\n";

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

    По умолчанию:
        6 juin 2013 17:05:06
    Полная запись: $format (full):
        jeudi 6 juin 2013 17:05:06 heure d’été irlandaise
    Массив: $format (none, full):
        17:05:06 heure d’été irlandaise
    Строка: $format (d 'of' MMMM y):
        6 of June 2013
    Объект DateTime:
        lunes, 9 de septiembre de 2013 09:09:09 Hora de verano de Europa central

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