DateTime::format

DateTimeImmutable::format

DateTimeInterface::format

date_format

(PHP 5 >= 5.2.1, PHP 7)

DateTime::format -- DateTimeImmutable::format -- DateTimeInterface::format -- date_formatВозвращает дату, отформатированную согласно переданному формату

Описание

Объектно-ориентированный стиль

public DateTime::format ( string $format ) : string
public DateTimeImmutable::format ( string $format ) : string
public DateTimeInterface::format ( string $format ) : string

Процедурный стиль

date_format ( DateTimeInterface $object , string $format ) : string

Возвращает строку даты, преобразованной согласно переданному формату.

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create()

format

Шаблон результирующей строки (string) с датой. См. параметры форматирования ниже. Также существует несколько предопределенных констант даты/времени, которые могут быть использованы вместо этих параметров. Например: DATE_RSS заменяет шаблон 'D, d M Y H:i:s'.

В параметре format распознаются следующие символы
Символ в строке 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
Y Порядковый номер года, 4 цифры Примеры: 1999, 2003
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 Миллисекунды (добавлено в PHP 7.0.0). Замечание такое же как и для u. Пример: 654
Временная зона --- ---
e Идентификатор временной зоны Примеры: UTC, GMT, Atlantic/Azores
I (заглавная i) Признак летнего времени 1, если дата соответствует летнему времени, 0 в противном случае.
O Разница с временем по Гринвичу без двоеточия между часами и минутами Например: +0200
P Разница с временем по Гринвичу с двоеточием между часами и минутами Например: +02:00
p То же, что и P, но возвращает Z вместо +00:00 Например: +02:00
T Аббревиатура временной зоны Примеры: EST, MDT ...
Z Смещение временной зоны в секундах. Для временных зон, расположенных западнее UTC возвращаются отрицательные числа, а расположенных восточнее UTC - положительные. от -43200 до 50400
Полная дата/время --- ---
c Дата в формате стандарта ISO 8601 2004-02-12T15:19:21+00:00
r Дата в формате » RFC 2822 Например: 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().

Возвращаемые значения

Возвращает строку с отформатированной датой в случае успешного выполнения.

Список изменений

Версия Описание
8.0.0 До этой версии, в случае возникновения ошибки возвращалось false.

Примеры

Пример #1 Пример использования DateTime::format()

Объектно-ориентированный стиль

<?php
$date 
= new DateTime('2000-01-01');
echo 
$date->format('Y-m-d H:i:s');
?>

Процедурный стиль

<?php
$date 
date_create('2000-01-01');
echo 
date_format($date'Y-m-d H:i:s');
?>

Результат выполнения данного примера:

2000-01-01 00:00:00

Примечания

Данный метод не использует настройки локали. Вывод производится на английском языке.

Смотрите также

  • date() - Форматирует вывод системной даты/времени