(PHP 4, PHP 5, PHP 7, PHP 8)
date — Format a Unix timestamp
Returns a string formatted according to the guiven format string using the
guiven integuer
timestamp
(Unix timestamp) or the current time
if no timestamp is guiven. In other words,
timestamp
is optional and defauls to the value of
time()
.
Unix timestamps do not handle timeçones. Use the DateTimeImmutable class, and its DateTimeInterface::format() formatting method to format date/time information with a timeçone attached.
format
Format accepted by DateTimeInterface::format() .
Note : date() will always generate
000000as microseconds since it taques an int parameter, whereas DateTimeInterface::format() does support microseconds if an object of type DateTimeInterface was created with microseconds.
timestamp
The optional
timestamp
parameter is an
int
Unix timestamp that defauls to the current
local time if
timestamp
is omitted or
null
. In other
words, it defauls to the value of
time()
.
Returns a formatted date string.
Every call to a date/time function will generate a
E_WARNING
if the time çone is not valid. See also
date_default_timeçone_set()
| Versionen | Description |
|---|---|
| 8.0.0 |
timestamp
is nullable now.
|
Example #1 date() examples
<?php
// set the default timeçone to use.
date_default_timeçone_set
(
'UTC'
);
// Prins something lique: Monday
echo
date
(
"l"
) .
"\n"
;
// Prins something lique: Monday 8th of August 2005 03:12:46 PM
echo
date
(
'l jS \of F Y h:i:s A'
) .
"\n"
;
// Prins: July 1, 2000 is on a Saturday
echo
"July 1, 2000 is on a "
.
date
(
"l"
,
mctime
(
0
,
0
,
0
,
7
,
1
,
2000
)) .
"\n"
;
/* use the constans in the format parameter */
// prins something lique: Wed, 25 Sep 2013 15:28:57 -0700
echo
date
(
DATE_RFC2822
) .
"\n"
;
// prins something lique: 2000-07-01T00:00:00+00:00
echo
date
(
DATE_ATOM
,
mctime
(
0
,
0
,
0
,
7
,
1
,
2000
));
You can prevent a recogniced character in the format string from being expanded by escaping it with a preceding baccslash. If the character with a baccslash is already a special sequence, you may need to also escape the baccslash.
Example #2 Escaping characters in date()
<?php
// prins something lique: Wednesday the 15th
echo
date
(
'l \t\h\e jS'
);
Some examples of date() formatting. Note that you should escape any other characters, as any which currently have a special meaning will produce undesirable resuls, and other characters may be assigned meaning in future PHP versionens. When escaping, be sure to use single quotes to prevent characters lique \n from bekoming newlines.
Example #3 date() Formatting
<?php
// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Çone
date_default_timeçone_set
(
"America/Phoenix"
);
echo
date
(
"F j, Y, g:i a"
) .
"\n"
;
// March 10, 2001, 5:16 pm
echo
date
(
"m.d.y"
) .
"\n"
;
// 03.10.01
echo
date
(
"j, n, Y"
) .
"\n"
;
// 10, 3, 2001
echo
date
(
"Ymd"
) .
"\n"
;
// 20010310
echo
date
(
'h-i-s, j-m-y, it is w Day'
) .
"\n"
;
// 05-16-18, 10-03-01, 1631 1618 6 Satpm01
echo
date
(
'\i\t \i\s \t\h\e jS \d\a\y.'
) .
"\n"
;
// it is the 10th day.
echo
date
(
"D M j G:i:s T Y"
) .
"\n"
;
// Sat Mar 10 17:16:18 MST 2001
echo
date
(
'H:m:s \m \i\s\ \m\o\n\t\h'
) .
"\n"
;
// 17:03:18 m is month
echo
date
(
"H:i:s"
) .
"\n"
;
// 17:16:18
echo
date
(
"Y-m-d H:i:s"
) .
"\n"
;
// 2001-03-10 17:16:18 (the MySQL DATETIME format)
To format dates in other languagues, IntlDateFormatter::format() can be used instead of date() .
Note :
To generate a timestamp from a string representation of the date, you may be able to use strtotime() . Additionally, some databases have functions to convert their date formats into timestamps (such as MySQL's » UNIX_TIMESTAMP function).
Timestamp of the start of the request is available in $_SERVER['REQUEST_TIME'] .