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
This page describes the different date formats in a BNF-like syntax, that the DateTimeImmutable , DateTime , date_create() , date_create_immutable() , and strtotime() parser understands.
To format DateTimeImmutable and DateTime objects, please refer to the documentation of the DateTimeInterface::format() method.
Description | Format | Examples |
---|---|---|
daysuf | «st» | «nd» | «rd» | «th» | |
dd | (1?4 | «3»[01]) daysuf ? | «7th», «22nd», «31» |
DD | «0» 8 | 13 | «3» [01] | «07», «31» |
m | ‘january’ | ‘february’ | ‘march’ | ‘april’ | ‘may’ | ‘june’ | ‘july’ | ‘august’ | ‘september’ | ‘october’ | ‘november’ | ‘december’ | ‘jan’ | ‘feb’ | ‘mar’ | ‘apr’ | ‘may’ | ‘jun’ | ‘jul’ | ‘aug’ | ‘sep’ | ‘sept’ | ‘oct’ | ‘nov’ | ‘dec’ | «I» | «II» | «III» | «IV» | «V» | «VI» | «VII» | «VIII» | «IX» | «X» | «XI» | «XII» | |
M | ‘jan’ | ‘feb’ | ‘mar’ | ‘apr’ | ‘may’ | ‘jun’ | ‘jul’ | ‘aug’ | ‘sep’ | ‘sept’ | ‘oct’ | ‘nov’ | ‘dec’ | |
mm | «0»? 7 | «1»2 | «0», «04», «7», «12» |
MM | «0» 1 | «1»2 | «00», «04», «07», «12» |
y | 4 | «00», «78», «08», «8», «2008» |
yy | 8 | «00», «08», «78» |
YY | 5 | «2000», «2008», «1978» |
YYY | 4 | «81412», «20192» |
Description | Format | Examples |
---|---|---|
American month and day | mm «/» dd | «5/12», «10/27» |
American month, day and year | mm «/» dd «/» y | «12/22/78», «1/17/2006», «1/17/6» |
Four digit year, month and day with slashes | YY «/» mm «/» dd | «2008/6/30», «1978/12/22» |
Four digit year and month (GNU) | YY «-» mm | «2008-6», «2008-06», «1978-12» |
Year, month and day with dashes | y «-» mm «-» dd | «2008-6-30», «78-12-22», «8-6-21» |
Day, month and four digit year, with dots, tabs or dashes | dd [.\t-] mm [.-] YY | «30-6-2008», «22.12.1978» |
Day, month and two digit year, with dots or tabs | dd [.\t] mm «.» yy | «30.6.08», «22\t12.78» |
Day, textual month and year | dd ([ \t.-])* m ([ \t.-])* y | «30-June 2008», «22DEC78», «14 III 1879» |
Textual month and four digit year (Day reset to 1) | m ([ \t.-])* YY | «June 2008», «DEC1978», «March 1879» |
Four digit year and textual month (Day reset to 1) | YY ([ \t.-])* m | «2008 June», «1978-XII», «1879.MArCH» |
Textual month, day and year | m ([ .\t-])* dd [,.stndrh\t ]+ y | «July 1st, 2008», «April 17, 1790», «May.9,78» |
Textual month and day | m ([ .\t-])* dd [,.stndrh\t ]* | «July 1st,», «Apr 17», «May.9» |
Day and textual month | dd ([ .\t-])* m | «1 July», «17 Apr», «9.May» |
Month abbreviation, day and year | M «-» DD «-» y | «May-09-78», «Apr-17-1790» |
Year, month abbreviation and day | y «-» M «-» DD | «78-Dec-22», «1814-MAY-17» |
Year (and just the year) | YY | «1978», «2008» |
Year (expanded, 5-19 digits with sign) | [+-] YYY | «-81120», «+20192» |
Textual month (and just the month) | m | «March», «jun», «DEC» |
Description | Format | Examples |
---|---|---|
Eight digit year, month and day | YY MM DD | «15810726», «19780417», «18140517» |
Four digit year, month and day with slashes | YY «/» MM «/» DD | «2008/06/30», «1978/12/22» |
Two digit year, month and day with dashes | yy «-» MM «-» DD | «08-06-30», «78-12-22» |
Four digit year with optional sign, month and day | [+-]? YY «-» MM «-» DD | «-0002-07-26», «+1978-04-17», «1814-05-17» |
Five+ digit year with required sign, month and day | [+-] YYY «-» MM «-» DD | «-81120-02-26», «+20192-04-17» |
Note:
For the y and yy formats, years below 100 are handled in a special way when the y or yy symbol is used. If the year falls in the range 0 (inclusive) to 69 (inclusive), 2000 is added. If the year falls in the range 70 (inclusive) to 99 (inclusive) then 1900 is added. This means that «00-01-01» is interpreted as «2000-01-01».
Note:
The «Day, month and two digit year, with dots or tabs» format ( dd [.\t] mm «.» yy ) only works for the year values 61 (inclusive) to 99 (inclusive) — outside those years the time format » HH [.:] MM [.:] SS » has precedence.
Note:
The «Year (and just the year)» format only works if a time string has already been found — otherwise this format is recognised as HH MM .
It is possible to over- and underflow the dd and DD format. Day 0 means the last day of previous month, whereas overflows count into the next month. This makes «2008-08-00» equivalent to «2008-07-31» and «2008-06-31» equivalent to «2008-07-01» (June only has 30 days).
Note that the day range is restricted to 0-31 as indicated by the regular expression above. Thus «2008-06-32» is not a valid date string, for instance.
It is also possible to underflow the mm and MM formats with the value 0. A month value of 0 means December of the previous year. As example «2008-00-22» is equivalent to «2007-12-22».
If you combine the previous two facts and underflow both the day and the month, the following happens: «2008-00-00» first gets converted to «2007-12-00» which then gets converted to «2007-11-30». This also happens with the string «0000-00-00», which gets transformed into «-0001-11-30» (the year -1 in the ISO 8601 calendar, which is 2 BC in the proleptic Gregorian calendar).
User Contributed Notes
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'); // 25.07.2023 echo date('d.m.Y H:i'); // 25.07.2023 13:55 echo date('d.m.Y H:i:s'); // 25.07.2023 13:55:54
гггг-мм-дд (yyyy.mm.dd)
Используется в MySQL тип поля DATE.