Форматирует дату и время как время UTC с учётом региональных настроек

# gmstrftime

(PHP 4, PHP 5, PHP 7, PHP 8)

gmstrftime — Форматирует дату и время как время UTC с учётом региональных настроек

Внимание

Функция УСТАРЕЛА с PHP 8.1.0. Полагаться на функцию настоятельно не рекомендуют.

Разработчикам доступны следующие альтернативы:

- gmdate()
- IntlDateFormatter::format()

### Описание

#[\Deprecated]
function gmstrftime(string `$format`, ?int `$timestamp` = null): string|false

Функция работает аналогично функции strftime(), но игнорирует смещение времени в текущем часовом поясе и форматирует метку времени как UTC-время с учётом региональных настроек. Например, при запуске в системе, в которой установили часовой пояс Eastern Standard Time со смещением GMT-0500, первая строка приведённого примера выведет "Dec 31 1998 20:00:00", а вторая — "Jan 01 1999 01:00:00".

Внимание

Функция зависит от региональных настроек операционной системы, которые не гарантируют совместимость или доступность региональных настроек в другой ОС. Для форматирования даты без влияния региональных настроек ОС вызывают метод IntlDateFormatter::format().

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

`format`

  См. описание функции strftime().

`timestamp`
  Необязательный параметр `timestamp` — целочисленная (int) метка времени, которая по умолчанию равна текущему местному времени, если параметр `timestamp` не указали или равен `null`. Говоря по другому, значение по умолчанию равно результату функции time().

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

Функция возвращает строку в заданном формате. Функция форматирует дату и время на основе метки времени, которую передали в аргументе `timestamp`, или текущего локального времени, если метку времени не указали. Названия месяцев, дней недели и других языкозависимых строк учитывают настройки текущей локали, которую установили функцией setlocale(). Функция возвращает значение `false`, если возникла ошибка.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Параметр `timestamp` теперь принимает значение `null`.

### Примеры

Пример #1 Пример форматирования даты и времени как UTC-времени с учетом текущей локали функцией gmstrftime()

    <?php

    setlocale(LC_TIME, 'es_ES.UTF-8');
    date_default_timezone_set('EST');

    echo strftime("%B %d %Y %H:%M:%S",   mktime(20, 0, 0, 12, 31, 98)) . "\n";
    echo gmstrftime("%B %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98));

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

    Deprecated: Function strftime() is deprecated since 8.1, use IntlDateFormatter::format() instead in script on line 6
    diciembre 31 1998 20:00:00

    Deprecated: Function gmstrftime() is deprecated since 8.1, use IntlDateFormatter::format() instead in script on line 7
    enero 01 1999 01:00:00

### Смотрите также

- IntlDateFormatter::format() - Форматирует значение даты и времени как строку
- DateTimeInterface::format() - Форматирует дату в заданном формате
- strftime() - Форматирует местную дату и время с учётом региональных настроек

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