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 Время в формате Интернет-времени (альтернативной системы отсчёта времени суток) От 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) параметр, тогда как метод DateTime::format поддерживает микросекунды, если объект DateTime создан с ними. Например: 654321 v Миллисекунды. Замечание такое же, как и для u. Пример: 654 Часовой пояс --- --- e Идентификатор часового пояса Примеры: UTC, GMT, Atlantic/Azores I (заглавная i) Признак летнего времени 1, если дата соответствует летнему времени, 0 в противном случае O Разница со временем по Гринвичу без двоеточия между часами и минутами Например: +0200 P Разница со временем по Гринвичу с двоеточием между часами и минутами Например: +02:00 p То же, что и P, но возвращает Z вместо +00:00 (доступен, начиная с PHP 8.0.0) Например: Z или +02:00 T Аббревиатура часового пояса, если известна; в противном случае смещение по Гринвичу. Примеры: EST, MDT, +05 Z Смещение часового пояса в секундах. Для часовых поясов, расположенных западнее UTC, возвращаются отрицательные числа, а для расположенных восточнее UTC — положительные. От -43200 до 50400 Полная дата/время --- --- c Дата в формате стандарта ISO 8601 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. Поскольку эта функция принимает в качестве параметра целочисленные (int) метки времени, форматирующий символ u будет полезен только при работе с функцией date_format и пользовательскими метками времени, созданными функцией date_create.
&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'); ?> ]]> &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