DateTimeInterface::format DateTimeImmutable::format DateTime::format date_format Форматирует дату в заданном формате &reftitle.description; &style.oop; public stringDateTimeInterface::format stringformat public stringDateTimeImmutable::format stringformat public stringDateTime::format stringformat &style.procedural; stringdate_format DateTimeInterfaceobject stringformat Метод возвращает строку с датой в формате, который указали при вызове метода. &reftitle.parameters; &date.datetime.description; format Шаблон результирующей строки (string) с датой. Смотрите параметры форматирования ниже. Вместо шаблона также указывают предопределённые константы даты и времени, например, константа DATE_RSS содержит строку формата 'D, d M Y H:i:s'. Символы, которые метод распознаёт в строке параметра <parameter>format</parameter> Символ в строке format Описание Пример возвращаемого значения День --- --- d День месяца, 2 цифры с ведущим нулём От 01 до 31 D Текстовое представление дня недели, 3 символа От Mon до Sun j День месяца без ведущего нуля От 1 до 31 l (строчная 'L') Полное наименование дня недели От Sunday до Saturday N Числовое представление дня недели по стандарту ISO 8601 От 1 для понедельника до 7 для воскресенья S Английское наращение — суффикс для порядкового числительного, которое означает день месяца, 2 буквы Значения st, nd, rd или th. Опция хорошо работает с параметром формата j w Порядковый номер дня недели От 0 для воскресенья до 6 для субботы z Порядковый номер дня в году начиная с 0 От 0 до 365 Неделя --- --- W Порядковый номер недели года по стандарту ISO 8601; недели начинаются с понедельника Например: 42 — 42-я неделя года Месяц --- --- F Полное название месяца, например January или March От January до December m Порядковый номер месяца с ведущим нулём От 01 до 12 M Сокращённое название месяца, 3 символа От Jan до Dec n Порядковый номер месяца без ведущего нуля От 1 до 12 t Количество дней в заданном месяце От 28 до 31 Год --- --- L Признак високосного года 1, если год високосный, иначе 0 o Номер года с учётом нумерации недель стандартом ISO 8601. Параметр возвращает то же значение, что и параметр Y, за исключением случаев, когда номер недели по стандарту ISO, как возвращает параметр W, принадлежит предыдущему или следующему году, тогда возвращается год, которому принадлежит такая неделя Примеры: 1999 или 2003 X Расширенное полное числовое представление года, не меньше 4 цифр, со знаком - перед значением года, если год относится к периоду до нашей эры, и знаком + перед значением года нашей эры Примеры: -0055, +0787, +1999, +10191 x Расширенное полное числовое представление, если требуется, или стандартное полное числовое представление по аналогии с параметром Y, если возможно. Не меньше четырёх цифр. Параметр добавит знак - перед значением года, если год относится к периоду до нашей эры. Перед значениями года после (и включая) 10000 параметр добавит знак + Примеры: -0055, 0787, 1999, +10191 Y Полное числовое представление года, не меньше 4 цифр, со знаком - перед значениями лет до нашей эры Примеры: -0055, 0787, 1999, 2003, 10191 y Номер года, 2 цифры Примеры: 99, 03 Время --- --- a Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре am или pm A Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в верхнем регистре AM или PM B Время в формате интернет-времени — альтернативной системы отсчета времени суток, которую предложила швейцарская компания — производитель часов Swatch От 000 до 999 g Часы в 12-часовом формате без ведущего нуля От 1 до 12 G Часы в 24-часовом формате без ведущего нуля От 0 до 23 h Часы в 12-часовом формате с ведущим нулём От 01 до 12 H Часы в 24-часовом формате с ведущим нулём От 00 до 23 i Минуты с ведущим нулём От 00 до 59 s Секунды с ведущим нулём От 00 до 59 u Микросекунды. Обратите внимание, что функция date генерирует для поля микросекунд значение 000000, поскольку принимает метку времени как целочисленное (int) значение в секундах, тогда как метод DateTimeInterface::format поддерживает микросекунды, если объект DateTimeInterface создали с микросекундами Например: 654321 v Миллисекунды. Примечание к параметру u касается и этого параметра Пример: 654 Часовой пояс --- --- e Идентификатор часового пояса Примеры: UTC, GMT, Atlantic/Azores I (заглавная i) Признак летнего времени 1, если дата соответствует летнему времени, иначе 0 O Разница со временем по Гринвичу без двоеточия между часами и минутами Например: +0200 P Разница со временем по Гринвичу с двоеточием между часами и минутами Например: +02:00 p То же, что и параметр P, но вместо +00:00 возвращает Z. Параметр доступен с PHP 8.0.0 Например: Z или +02:00 T Аббревиатура часового пояса, если известна; иначе смещение по Гринвичу Примеры: EST, MDT, +05 Z Смещение часового пояса в секундах. Смещение для часовых поясов к западу от времени UTC — отрицательное, а для часовых поясов к востоку от времени UTC — положительное От -43200 до 50400 Полная дата/время --- --- c Дата в формате стандарта ISO 8601. Спецификатор несовместим с расширенным форматом дат после 9999 года. Строковое представление дат позднее 9999 в расширенном формате получают через спецификатор x или X, поскольку для таких дат метод вернёт недопустимую строку. 2004-02-12T15:19:21+00:00 r Дата в формате стандартов RFC 222 и RFC 5322 Например: Thu, 21 Dec 2000 16:01:07 +0200 U Количество секунд, которое прошло с начала 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; Пример форматирования даты методом <function>DateTimeInterface::format</function> &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