DateTimeInterface::format

DateTimeImmutable::format

DateTime::format

date_format

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeInterface::format -- DateTimeImmutable::format -- DateTime::format -- date_format — Повертає дату, відформатовану відповідно до переданого формату

Опис

Об'єктно-орієнтований стиль

public DateTimeInterface::format(string $format): string
public DateTimeImmutable::format(string $format): string
public DateTime::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День місяця без ведучого нуляВід до31
l (маленька 'L')Повне найменування дня тижняВід SundayдоSaturday
NПорядковий номер дня тижня відповідно до стандарту ISO 8601Від (понеділок) до 7 (Неділя)
SАнглійський суфікс порядкового числа місяця, 2 символиstndrdилиth. . Застосовують спільно з j
wПорядковий номер дня тижняВід (неділя) до6(субота)
zПорядковий номер дня у році (починаючи з 0)Від до365
Тиждень------
WПорядковий номер тижня року відповідно до стандарту ISO 8601; тижні починаються з понеділкаНаприклад: 42 (42-й тиждень року)
Місяць------
FПовне найменування місяця, наприклад January або MarchВід JanuaryдоDecember
mПорядковий номер місяця з провідним нулемВід 01до12
MСкорочена назва місяця, 3 символиВід JanдоDec
nПорядковий номер місяця без провідного нуляВід до12
tКількість днів у вказаному місяціВід 28до31
Рік------
LОзнака високосного рокуякщо рік високосний, інакше
oНомер року відповідно до стандарту ISO 8601. Має те саме значення, що й Yкрім випадку, коли номер тижня ISO (W) належить попередньому чи наступному році; тоді буде використано рік цього тижня.Приклади: 1999или2003
XРозширене повне числове подання року, не менше 4 цифр, - для років до нашої ери та + для років нашої ери.Приклади: -0055+0787+1999+10191
xРозширене повне числове уявлення, якщо потрібно, або стандартне повне числове уявлення, якщо можливо (наприклад, Y). Не менш як чотири цифри. Для років до нашої ери вказано префікс -. . У років після (і включаючи) 10000 префікс +Приклади: -005507871999+10191
YПовне числове подання року, не менше 4 цифр, - для років до н.Приклади: -005507871999200310191
yНомер року, 2 цифриПриклади: 9903
Час------
aAnte meridiem (лат. «до полудня») або Post meridiem (лат. «після полудня») у нижньому регістріamилиpm
AAnte meridiem або Post meridiem у верхньому регістріAMилиPM
BЧас у форматі Інтернет-часу (альтернативної системи відліку часу доби)Від 000до999
gГодинник у 12-годинному форматі без провідного нуляВід до12
GГодинник у 24-годинному форматі без провідного нуляВід до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Ідентифікатор часового поясуПриклади: UTCGMTAtlantic/Azores
I (Заголовна i)Ознака літнього часуякщо дата відповідає літньому часу, в іншому випадку
OРізниця з часом за Грінвічем без двокрапки між годинами та хвилинамиНаприклад: +0200
PРізниця з часом за Грінвічем з двокрапкою між годинами та хвилинамиНаприклад: +02:00
pТе саме, що і P, але повертаєZ замість +00:00 (доступний, починаючи з PHP 8.0.0)Наприклад: Zили+02:00
TАбревіатура часового поясу, якщо відома; в іншому випадку зсув за Грінвічем.Приклади: ESTMDT+05
ZЗміщення часового поясу за секунди. Для часових поясів, розташованих на захід від UTC, повертаються негативні числа, а для розташованих на схід від UTC — позитивні.Від -43200до50400
Повна дата/час------
cДата у форматі стандарту ISO 86012004-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 завжди повертає при использованииgmdate()

Зауваження :

Оскільки ця функція приймає як параметр цілочислові (int) мітки часу, символ форматує u буде корисним лише при роботі з функцією date_format() та користувальницькими мітками часу, створеними функцією date_create()

Значення, що повертаються

Повертає рядок із відформатованою датою у разі успішного виконання.

список змін

ВерсияОпис
8.2.0Додані символи форматування Xиx
8.0.0Доданий символ форматування p

Приклади

Приклад #1 Приклад використання DateTimeInterface::format()****

Об'єктно-орієнтований стиль

Loading...

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

Loading...

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

2000-01-01 00:00:00

Приклад #2 Більше прикладів

Loading...

Можна запобігти розширенню розпізнаного символу в рядку формату, екрануючи його попереднім зворотним слішем. Якщо символ зі зворотним слешем вже утворює спеціальну послідовність, його також може знадобитися екранувати.

Приклад #3 Екранування символів під час форматування

Loading...

Для форматування дат іншими мовами замість методу DateTimeInterface::format() можна використовувати метод IntlDateFormatter::format()

Примітки

Цей метод не використовує налаштування локалі. Висновок робиться англійською мовою.

Дивіться також

  • date() - Форматує тимчасову мітку Unix