DateTimeInterface::formatDateTimeImmutable::formatDateTime::formatdate_formatФорматирует дату в заданном формате
&reftitle.description;
&style.oop;publicstringDateTimeInterface::formatstringformatpublicstringDateTimeImmutable::formatstringformatpublicstringDateTime::formatstringformat&style.procedural;stringdate_formatDateTimeInterfaceobjectstringformat
Метод возвращает строку с датой в формате, который указали при вызове метода.
&reftitle.parameters;
&date.datetime.description;
format
Шаблон результирующей строки (string) с датой. Смотрите параметры
форматирования ниже. Вместо шаблона также указывают предопределённые константы даты и времени,
например, константа DATE_RSS содержит строку формата 'D, d M Y H:i:s'.
Символы, которые метод распознаёт в строке параметра formatСимвол в строке formatОписаниеПример возвращаемого значенияДень------dДень месяца, 2 цифры с ведущим нулёмОт 01 до 31DТекстовое представление дня недели, 3 символаОт Mon до SunjДень месяца без ведущего нуляОт 1 до 31l (строчная 'L')Полное наименование дня неделиОт Sunday до SaturdayN
Числовое представление дня недели по стандарту ISO 8601
От 1 для понедельника до 7 для воскресенья
S
Английское наращение — суффикс для порядкового числительного, которое означает день месяца, 2 буквы
Значения st, nd, rd
или th. Опция хорошо работает с параметром формата jwПорядковый номер дня неделиОт 0 для воскресенья до 6 для субботыzПорядковый номер дня в году начиная с 0От 0 до 365Неделя------WПорядковый номер недели года
по стандарту ISO 8601; недели начинаются с понедельникаНапример: 42 — 42-я неделя годаМесяц------FПолное название месяца, например January или MarchОт January до DecembermПорядковый номер месяца с ведущим нулёмОт 01 до 12MСокращённое название месяца, 3 символаОт Jan до DecnПорядковый номер месяца без ведущего нуляОт 1 до 12tКоличество дней в заданном месяцеОт 28 до 31Год------LПризнак високосного года1, если год високосный, иначе 0o
Номер года с учётом нумерации недель стандартом ISO 8601. Параметр возвращает то же значение,
что и параметр Y, за исключением случаев, когда номер недели по стандарту ISO,
как возвращает параметр W, принадлежит предыдущему или следующему году, тогда
возвращается год, которому принадлежит такая неделя
Примеры: 1999 или 2003X
Расширенное полное числовое представление года, не меньше 4 цифр,
со знаком - перед значением года, если год относится к периоду до нашей эры,
и знаком + перед значением года нашей эры
Примеры: -0055, +0787,
+1999, +10191x
Расширенное полное числовое представление, если требуется,
или стандартное полное числовое представление по аналогии с параметром Y,
если возможно. Не меньше четырёх цифр.
Параметр добавит знак - перед значением года, если год относится к периоду до нашей эры.
Перед значениями года после (и включая) 10000 параметр добавит знак +
Примеры: -0055, 0787,
1999, +10191Y
Полное числовое представление года, не меньше 4 цифр, со знаком -
перед значениями лет до нашей эры
Примеры: -0055, 0787,
1999, 2003,
10191yНомер года, 2 цифрыПримеры: 99, 03Время------a
Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре
am или pmA
Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в верхнем регистре
AM или PMB
Время в формате интернет-времени — альтернативной системы отсчета времени суток,
которую предложила швейцарская компания — производитель часов Swatch
От 000 до 999gЧасы в 12-часовом формате без ведущего нуляОт 1 до 12GЧасы в 24-часовом формате без ведущего нуляОт 0 до 23hЧасы в 12-часовом формате с ведущим нулёмОт 01 до 12HЧасы в 24-часовом формате с ведущим нулёмОт 00 до 23iМинуты с ведущим нулёмОт 00 до 59sСекунды с ведущим нулёмОт 00 до 59u
Микросекунды. Обратите внимание, что функция date
генерирует для поля микросекунд значение 000000,
поскольку принимает метку времени как целочисленное (int) значение в секундах,
тогда как метод DateTimeInterface::format поддерживает микросекунды,
если объект DateTimeInterface создали с микросекундами
Например: 654321v
Миллисекунды. Примечание к параметру u касается
и этого параметра
Пример: 654Часовой пояс------eИдентификатор часового пояса
Примеры: UTC, GMT, Atlantic/AzoresI (заглавная i)Признак летнего времени1, если дата соответствует летнему времени, иначе 0OРазница со временем по Гринвичу без двоеточия между часами и минутамиНапример: +0200PРазница со временем по Гринвичу с двоеточием между часами и минутамиНапример: +02:00p
То же, что и параметр P, но вместо +00:00 возвращает Z.
Параметр доступен с PHP 8.0.0
Например: Z или +02:00TАббревиатура часового пояса, если известна; иначе смещение по ГринвичуПримеры: EST, MDT, +05Z
Смещение часового пояса в секундах. Смещение для часовых поясов
к западу от времени UTC — отрицательное, а для часовых поясов к востоку
от времени UTC — положительное
От -43200 до 50400Полная дата/время------c
Дата в формате стандарта ISO 8601. Спецификатор несовместим с расширенным форматом дат после 9999 года.
Строковое представление дат позднее 9999 в расширенном формате получают через спецификатор x или X,
поскольку для таких дат метод вернёт недопустимую строку.
2004-02-12T15:19:21+00:00r
Дата в формате стандартов RFC 222
и RFC 5322
Например: Thu, 21 Dec 2000 16:01:07 +0200U
Количество секунд, которое прошло с начала Unix-эпохи — с 1 января 1970 00:00:00 GMT
Смотрите также time
Метод выводит нераспознанные в строке формата символы без изменений.
Параметр Z возвращает 0
при каждом вызове функции gmdate.
Форматирующий символ u полезен только при работе
с функцией date_format и пользовательскими метками времени,
которые создали функцией date_create, поскольку функция принимает
только целочисленные (int) метки времени.
&reftitle.returnvalues;
Метод возвращает строку с отформатированной датой, если выполнился успешно.
&reftitle.changelog;
&Version;&Description;8.2.0
Добавили символы форматирования X и x.
8.0.0
Добавили символ форматирования p.
&reftitle.examples;
Пример форматирования даты методом DateTimeInterface::format&style.oop;
format('Y-m-d H:i:s');
]]>
&example.outputs;
&style.procedural;
&example.outputs;
Больше примеров
format('l'), "\n";
// Выведет что-то наподобие: Wednesday 19th of October 2022 08:40:48 AM
echo $date->format('l jS \o\f F Y h:i:s A'), "\n";
/* Передача констант в параметр format */
// Выведет что-то наподобие: Wed, 19 Oct 2022 08:40:48 +0000
echo $date->format(DateTimeInterface::RFC2822), "\n";
]]>
Разворачивание символа в строке формата, который распознал метод, останавливают путём
экранирования символа форматирования обратным слешем.
Иногда требуется заэкранировать сам обратный слеш, если символ с обратным слешем
образует управляющую последовательность.
Пример экранирования символов при форматировании
format('l \t\h\e jS');
]]>
Даты на других языках вместо метода DateTimeInterface::format
форматируют методом IntlDateFormatter::format.
&reftitle.notes;
Метод не учитывает настройки локали и выводит данные на английском языке.
&reftitle.seealso;
date