Форматирование даты и времени
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.