PHP date_format() Function
Return a new DateTime object, and then format the date:
Definition and Usage
The date_format() function returns a date formatted according to the specified format.
Note: This function does not use locales (all output is in English).
Tip: Also look at the date() function, which formats a local date/time.
Syntax
Parameter Values
- d — The day of the month (from 01 to 31)
- D — A textual representation of a day (three letters)
- j — The day of the month without leading zeros (1 to 31)
- l (lowercase ‘L’) — A full textual representation of a day
- N — The ISO-8601 numeric representation of a day (1 for Monday, 7 for Sunday)
- S — The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j)
- w — A numeric representation of the day (0 for Sunday, 6 for Saturday)
- z — The day of the year (from 0 through 365)
- W — The ISO-8601 week number of year (weeks starting on Monday)
- F — A full textual representation of a month (January through December)
- m — A numeric representation of a month (from 01 to 12)
- M — A short textual representation of a month (three letters)
- n — A numeric representation of a month, without leading zeros (1 to 12)
- t — The number of days in the given month
- L — Whether it’s a leap year (1 if it is a leap year, 0 otherwise)
- o — The ISO-8601 year number
- Y — A four digit representation of a year
- y — A two digit representation of a year
- a — Lowercase am or pm
- A — Uppercase AM or PM
- B — Swatch Internet time (000 to 999)
- g — 12-hour format of an hour (1 to 12)
- G — 24-hour format of an hour (0 to 23)
- h — 12-hour format of an hour (01 to 12)
- H — 24-hour format of an hour (00 to 23)
- i — Minutes with leading zeros (00 to 59)
- s — Seconds, with leading zeros (00 to 59)
- u — Microseconds (added in PHP 5.2.2)
- e — The timezone identifier (Examples: UTC, GMT, Atlantic/Azores)
- I (capital i) — Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise)
- O — Difference to Greenwich time (GMT) in hours (Example: +0100)
- P — Difference to Greenwich time (GMT) in hours:minutes (added in PHP 5.1.3)
- T — Timezone abbreviations (Examples: EST, MDT)
- Z — Timezone offset in seconds. The offset for timezones west of UTC is negative (-43200 to 50400)
- c — The ISO-8601 date (e.g. 2013-05-05T16:34:42+00:00)
- r — The RFC 2822 formatted date (e.g. Fri, 12 Apr 2013 12:01:05 +0200)
- U — The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
and the following predefined constants can also be used (available since PHP 5.1.0):
- DATE_ATOM — Atom (example: 2013-04-12T15:52:01+00:00)
- DATE_COOKIE — HTTP Cookies (example: Friday, 12-Apr-13 15:52:01 UTC)
- DATE_ISO8601 — ISO-8601 (example: 2013-04-12T15:52:01+0000)
- DATE_RFC822 — RFC 822 (example: Fri, 12 Apr 13 15:52:01 +0000)
- DATE_RFC850 — RFC 850 (example: Friday, 12-Apr-13 15:52:01 UTC)
- DATE_RFC1036 — RFC 1036 (example: Fri, 12 Apr 13 15:52:01 +0000)
- DATE_RFC1123 — RFC 1123 (example: Fri, 12 Apr 2013 15:52:01 +0000)
- DATE_RFC2822 — RFC 2822 (Fri, 12 Apr 2013 15:52:01 +0000)
- DATE_RFC3339 — Same as DATE_ATOM (since PHP 5.1.3)
- DATE_RSS — RSS (Fri, 12 Aug 2013 15:52:01 +0000)
- DATE_W3C — World Wide Web Consortium (example: 2013-04-12T15:52:01+00:00)
Technical Details
date_format
The format of the outputted date string . See the formatting options below. There are also several predefined date constants that may be used instead, so for example DATE_RSS contains the format string ‘D, d M Y H:i:s’ .
format character | Description | Example returned values |
---|---|---|
Day | — | — |
d | Day of the month, 2 digits with leading zeros | 01 to 31 |
D | A textual representation of a day, three letters | Mon through Sun |
j | Day of the month without leading zeros | 1 to 31 |
l (lowercase ‘L’) | A full textual representation of the day of the week | Sunday through Saturday |
N | ISO 8601 numeric representation of the day of the week | 1 (for Monday) through 7 (for Sunday) |
S | English ordinal suffix for the day of the month, 2 characters | st , nd , rd or th . Works well with j |
w | Numeric representation of the day of the week | 0 (for Sunday) through 6 (for Saturday) |
z | The day of the year (starting from 0) | 0 through 365 |
Week | — | — |
W | ISO 8601 week number of year, weeks starting on Monday | Example: 42 (the 42nd week in the year) |
Month | — | — |
F | A full textual representation of a month, such as January or March | January through December |
m | Numeric representation of a month, with leading zeros | 01 through 12 |
M | A short textual representation of a month, three letters | Jan through Dec |
n | Numeric representation of a month, without leading zeros | 1 through 12 |
t | Number of days in the given month | 28 through 31 |
Year | — | — |
L | Whether it’s a leap year | 1 if it is a leap year, 0 otherwise. |
o | ISO 8601 week-numbering year. This has the same value as Y , except that if the ISO week number ( W ) belongs to the previous or next year, that year is used instead. | Examples: 1999 or 2003 |
X | An expanded full numeric representation of a year, at least 4 digits, with — for years BCE, and + for years CE. | Examples: -0055 , +0787 , +1999 , +10191 |
x | An expanded full numeric representation if requried, or a standard full numeral representation if possible (like Y ). At least four digits. Years BCE are prefixed with a — . Years beyond (and including) 10000 are prefixed by a + . | Examples: -0055 , 0787 , 1999 , +10191 |
Y | A full numeric representation of a year, at least 4 digits, with — for years BCE. | Examples: -0055 , 0787 , 1999 , 2003 , 10191 |
y | A two digit representation of a year | Examples: 99 or 03 |
Time | — | — |
a | Lowercase Ante meridiem and Post meridiem | am or pm |
A | Uppercase Ante meridiem and Post meridiem | AM or PM |
B | Swatch Internet time | 000 through 999 |
g | 12-hour format of an hour without leading zeros | 1 through 12 |
G | 24-hour format of an hour without leading zeros | 0 through 23 |
h | 12-hour format of an hour with leading zeros | 01 through 12 |
H | 24-hour format of an hour with leading zeros | 00 through 23 |
i | Minutes with leading zeros | 00 to 59 |
s | Seconds with leading zeros | 00 through 59 |
u | Microseconds. Note that date() will always generate 000000 since it takes an int parameter, whereas DateTime::format() does support microseconds if DateTime was created with microseconds. | Example: 654321 |
v | Milliseconds. Same note applies as for u . | Example: 654 |
Timezone | — | — |
e | Timezone identifier | Examples: UTC , GMT , Atlantic/Azores |
I (capital i) | Whether or not the date is in daylight saving time | 1 if Daylight Saving Time, 0 otherwise. |
O | Difference to Greenwich time (GMT) without colon between hours and minutes | Example: +0200 |
P | Difference to Greenwich time (GMT) with colon between hours and minutes | Example: +02:00 |
p | The same as P , but returns Z instead of +00:00 (available as of PHP 8.0.0) | Examples: Z or +02:00 |
T | Timezone abbreviation, if known; otherwise the GMT offset. | Examples: EST , MDT , +05 |
Z | Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. | -43200 through 50400 |
Full Date/Time | — | — |
c | ISO 8601 date | 2004-02-12T15:19:21+00:00 |
r | » RFC 2822/» RFC 5322 formatted date | Example: Thu, 21 Dec 2000 16:01:07 +0200 |
U | Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) | See also time() |
Unrecognized characters in the format string will be printed as-is. The Z format will always return 0 when using gmdate() .
Note:
Since this function only accepts int timestamps the u format character is only useful when using the date_format() function with user based timestamps created with date_create() .
Return Values
Returns the formatted date string on success.
date() – форматирование даты PHP
date($format, $timestamp) – форматирует дату/время по шаблону, где:
Результат работы функции зависит от настроек часового пояса, установить его можно следующем образом:
Основные параметры шаблона
Символ | Описание | Пример возвращаемого значения |
---|---|---|
День | ||
j | День месяца без ведущего нуля | от 1 до 31 |
d | День месяца, 2 цифры с ведущим нулём | от 01 до 31 |
l | Полное наименование дня недели | от Sunday до Saturday |
D | День недели, 3 символа | от Mon до Sun |
z | Порядковый номер дня в году | От 0 до 365 |
Неделя | ||
N | Порядковый номер дня недели | от 1 (понедельник) до 7 (воскресенье) |
W | Порядковый номер недели года | Например: 42 (42-я неделя года) |
Месяц | ||
n | Порядковый номер месяца без ведущего нуля | от 1 до 12 |
m | Порядковый номер месяца с ведущим нулём | от 01 до 12 |
F | Полное название месяца | от January до December |
M | Сокращенное наименование месяца, 3 символа | от Jan до Dec |
t | Количество дней в месяце | от 28 до 31 |
Год | ||
Y | Год, 4 цифры | 2019 |
y | Год, 2 цифры | 19 |
Время | ||
g | Часы в 12-часовом формате без ведущего нуля | от 1 до 12 |
h | Часы в 12-часовом формате с ведущим нулём | от 01 до 12 |
G | Часы в 24-часовом формате без ведущего нуля | от 0 до 23 |
H | Часы в 24-часовом формате с ведущим нулём | от 00 до 23 |
i | Минуты с ведущим нулём | от 00 до 59 |
s | Секунды с ведущим нулём | от 00 до 59 |
v | Миллисекунды | 123 |
Полная дата/время | ||
c | Дата в формате ISO 8601 | 2004-02-12T15:19:21+00:00 |
r | Дата в формате RFC 2822 | Thu, 21 Dec 2000 16:01:07 +0200 |
дд.мм.ггг (dd.mm.yyyy)
Самый распространенные форматы: dd.mm.yyyy и dd.mm.yyyy hh:ss .
echo date('d.m.Y'); // 26.07.2023 echo date('d.m.Y H:i'); // 26.07.2023 22:15 echo date('d.m.Y H:i:s'); // 26.07.2023 22:15:06
гггг-мм-дд (yyyy.mm.dd)
Используется в MySQL тип поля DATE.