Формат­ирование даты и времени

PHP: Шаблон результирующей строки

📱

День месяца

d — с ведущим нулём, 2 цифры, от 01-09 до 31

j — без ведущего нуля, от 1-9 до 31

S — английское наращение, суффикс для порядкового числительного, которое означает день месяца, 2 буквы, значения st, nd, rd или th

Месяц года

m - порядковый номер месяца с ведущим нулём, от 01-09 до 12

n - порядковый номер месяца без ведущего нуля, от 1-9 до 12

M - сокращённое название месяца, 3 символа, от Jan до Dec

F - полное название месяца, от January до December

t - количество дней в заданном месяце, от 28 до 31

Год

Y - полное числовое представление года, не меньше 4 цифр, со знаком - перед значениями лет до нашей эры, примеры: -0055, 0787, 1993, 2022, 10191

y - номер года, 2 цифры, от 00-09 до 99

o - номер года, не меньше 4 цифр, с учётом нумерации недель стандартом ISO 8601, как возвращает параметр W, принадлежит предыдущему или следующему году, тогда возвращается год, которому принадлежит такая неделя.

X - расширенное полное числовое представление года, не меньше 4 цифр, со знаком - перед значением года, если год относится к периоду до нашей эры, и знаком + перед значением года нашей эры. Примеры: -0055, +0787, +1999, +10191

x - расширенное полное числовое представление, не меньше четырёх цифр. Если требуется, или стандартное полное числовое представление по аналогии с параметром Y, если возможно. Параметр добавит знак - перед значением года, если год относится к периоду до нашей эры. Перед значениями года после (и включая) 10000 параметр добавит знак +

L - признак високосного года, 1 - год високосный, иначе 0

День недели

D - текстовое представление дня недели, 3 символа, от Mon до Sun

l (строчная L) - текстовое представление, полное наименование, от Sunday до Saturday

w - порядковый номер, от 0 до 6, начиная с воскресенья по субботу

N - числовое представление, по стандарту ISO 8601, от 1 до 7, с понедельника по воскресенья, соответсвтенно.

День года и неделя года

z - порядковый номер дня года, начиная с 0 до 365

W - порядковый номер недели года, по стандарту ISO 8601, недели начинаются с понедельника, от 1 до 53-я неделя года

Часы

H - 24-часовой формат с ведущим нулём, 2 цифры, от 00-09 до 23

G - в 24-часовом формате без ведущего нуля, от 0-9 до 23

h - в 12-часовом формате с ведущим нулём, 2 цифры, от 00-09 до 12

g - 12-часовой формат без ведущего нуля, от 0-9 до 12

Минуты и секунды

i - минуты с ведущим нулём, 2 цифры, от 00-09 до 59

s - секунды с ведущим нулём, 2 цифры, от 00-09 до 59

Микросекунды

u - 6 цифр, значение от 000000 до 999999

v - 3 цифры, от 000 до 999

* функция date() отображает всегда "000000" или "000", а DateTimeInterface::format() поддерживает микросекунды, если объект DateTimeInterface создали с микросекундами

Время полудня

A - в верхнем регистре, 2 символа, значения AM или PM

a - 2 символа, в нижнем регистре, значения am или pm

* на латинском Ante Meridiem (до полудня) и Post Meridiem (после полудня) для 12-часового времени.

Интернет-время

B — альтернативной системы отсчета времени суток, которую предложила швейцарская компания — производитель часов Swatch, от 000 до 999. Пример: 625

Часовой пояс

e — Идентификатор часового пояса. Примеры: UTC, GMT, Atlantic/Azores, Europe/Moscow

I (заглавная i) — признак летнего времени, 1 - дата соответствует летнему времени, иначе 0. Пример: 0

P — разница со временем по Гринвичу с двоеточием между часами и минутами. Пример: +03:00

p — То же, что и параметр P, но вместо +00:00 возвращает Z. Параметр доступен с PHP 8.0.0 Например: Z, +03:00

O — разница со временем по Гринвичу без двоеточия. Пример: +0300

T — аббревиатура часового пояса, если известна; иначе смещение по Гринвичу. Примеры: EST, MDT, +05, MSK

Z — смещение для часового пояса в секундах от времени UTC: положительное — к востоку, отрицательное — к западу, от -43200 до 50400. Пример: 10800

Полная дата и время

c — дата в формате стандарта ISO 8601, несовместим с расширенным форматом дат после 9999 года. Пример: 2026-09-30T17:00:06+03:00

r — дата в формате стандартов RFC 222 и RFC 5322. Пример: Wed, 30 Sep 2026 17:00:06 +0300

U — количество секунд, которое прошло с начала Unix-эпохи — с 1 января 1970 00:00:00 GMT. Пример: 1790776806. Смотрите также функцию time() - 1790776806.

Константы формата даты и времени

  • DATE_ATOM, DATE_W3C, DATE_RFC3339 — Atom, W3C, RFC 3339
    Формат: Y-m-d\TH:i:sP. Пример: 2026-09-30T17:00:06+03:00.
  • DATE_COOKIE — Cookies HTTP-протокола
    Формат: l, d-M-Y H:i:s T. Пример: Wednesday, 30-Sep-2026 17:00:06 MSK.
  • DATE_RSS, DATE_RFC1123, DATE_RFC2822 — RSS, RFC 1123, RFC 2822
    Формат: D, d M Y H:i:s O. Пример: Wed, 30 Sep 2026 17:00:06 +0300.
  • DATE_ISO8601 — ISO-8601 (несовместим со стандартом, указывайте DATE_ISO8601_EXPANDED или DATE_ATOM)
    Формат: Y-m-d\TH:i:sO. Пример: 2026-09-30T17:00:06+0300.
  • DATE_RFC822, DATE_RFC1036 — RFC 822, RFC 1036
    Формат: D, d M y H:i:s O. Пример: Wed, 30 Sep 26 17:00:06 +0300.
  • DATE_RFC850 — RFC 850
    Формат: l, d-M-y H:i:s T. Пример: Wednesday, 30-Sep-26 17:00:06 MSK.
  • DATE_RFC3339_EXTENDED — RFC 3339 EXTENDED
    Формат: Y-m-d\TH:i:s.vP. Пример: 2026-09-30T17:00:06.000+03:00.
  • DATE_ISO8601_EXPANDED — ISO-8601 Expanded (PHP 8.2.0)
    Формат: X-m-d\TH:i:sP. Пример: X-09-30T17:00:06+03:00.
  • DATE_RFC7231 — RFC 7231 (PHP 7.0.19 и 7.1.5) устарели
    Формат: D, d M Y H:i:s \G\M\T. Пример: Wed, 30 Sep 2026 17:00:06 GMT.

Функции времени и даты

function date(string $format, ?int $timestamp = null): string date — Форматирует метку времени эпохи Unix.

Параметр format — это формат, который принимается методом DateTimeInterface::format()

Параметр timestamp необязателен и по умолчанию равен значению, которое возвращает функция time(), как null с версии PHP 8.0.0.

function time(): int — Возвращает метку времени Unix на основе текущего системного времени, которое измеряется в секундах с начала эпохи Unix — 00:00:00 1 января 1970 по времени UTC.

0.00881 ...