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 — Returns date formatted according to given format
Description
Object-oriented style
$format
): string$format
): string$format
): stringProcedural style
Returns date formatted according to given format.
Parameters
-
object
-
Procedural style only: A DateTime object returned by date_create()
-
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'
.The following characters are recognized in the format
parameter stringformat
characterDescription Example returned values Day --- --- d
Day of the month, 2 digits with leading zeros 01
to31
D
A textual representation of a day, three letters Mon
throughSun
j
Day of the month without leading zeros 1
to31
l
(lowercase 'L')A full textual representation of the day of the week Sunday
throughSaturday
N
ISO 8601 numeric representation of the day of the week 1
(for Monday) through7
(for Sunday)S
English ordinal suffix for the day of the month, 2 characters st
,nd
,rd
orth
. Works well withj
w
Numeric representation of the day of the week 0
(for Sunday) through6
(for Saturday)z
The day of the year (starting from 0) 0
through365
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
throughDecember
m
Numeric representation of a month, with leading zeros 01
through12
M
A short textual representation of a month, three letters Jan
throughDec
n
Numeric representation of a month, without leading zeros 1
through12
t
Number of days in the given month 28
through31
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
or2003
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
or03
Time --- --- a
Lowercase Ante meridiem and Post meridiem am
orpm
A
Uppercase Ante meridiem and Post meridiem AM
orPM
B
Swatch Internet time 000
through999
g
12-hour format of an hour without leading zeros 1
through12
G
24-hour format of an hour without leading zeros 0
through23
h
12-hour format of an hour with leading zeros 01
through12
H
24-hour format of an hour with leading zeros 00
through23
i
Minutes with leading zeros 00
to59
s
Seconds with leading zeros 00
through59
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 returnsZ
instead of+00:00
(available as of PHP 8.0.0)Example: +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
through50400
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 return0
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.
Changelog
Version | Description |
---|---|
8.2.0 |
The format characters X and x
have been added.
|
8.0.0 |
Prior to this version, false was returned on failure.
|
8.0.0 |
The format character p has been added.
|
Examples
Example #1 DateTime::format() example
Object-oriented style
<?php
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>
Procedural style
<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>
The above example will output:
2000-01-01 00:00:00
Notes
This method does not use locales. All output is in English.
See Also
- date() - Format a Unix timestamp