HomeMenu
Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

date

Description

The date of Date / Time for PHP formats a local time/date.

Syntax

date(
    string $format,
    ?int $timestamp = null
): string

Parameters

format

The format of the outputted date string.

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'.

DayDescriptionExample
dDay of the month with leading zeros, 2 digits01 - 31
DShort textual representation of the day of the week, three lettersMon - Sun
jDay of the month without leading zeros1 - 31
l (lowercase L)Full textual representation of the day of the weekSunday - Saturday
NISO-8601 numeric representation of the day of the week1 - 7 (Monday - Sunday)
SEnglish ordinal suffix for the day of the month, 2 charactersst, nd, rd, th
wNumeric representation of the day of the week0 - 6 (Sunday - Saturday)
zDay of the year0 - 365
WeekDescriptionExample
WISO-8601 week of the year, weeks start on Monday1 - 52
MonthDescriptionExample
FFull textual representation of a monthJanuary - December
mNumeric representation of a month with leading zeros, 2 digits01 - 12
MShort textual representation of a month, three lettersJan - Dec
nNumeric representation of a month without leading zeros1 - 12
tNumber of days in the given month28 - 31
YearDescriptionExample
LWhether it's a leap year1 (leap year), 0 (otherwise)
oISO-8601 week-numbering year. 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.Example: 1999
Y4 digit representation of a yearExample: 1999
y2 digit representation of a year00 - 99
TimeDescriptionExample
aLowercase Ante meridiem and Post meridiemam, pm
AUppercase Ante meridiem and Post meridiemAM, PM
BSwatch Internet time000 - 999
g12-hour format of an hour without leading zeros1 - 12
G24-hour format of an hour without leading zeros0 - 23
h12-hour format of an hour with leading zeros01 - 12
H24-hour format of an hour with leading zeros00 - 23
iMinutes with leading zeros00 - 59
sSeconds with leading zeros00 - 59
uMicroseconds. Note: date() will always generate 000000 since it takes an integer parameter, whereas DateTime::format() does support microseconds if DateTime was created with microseconds.Example: 654321
vMilliseconds. Same note as u.Example: 654
TimezoneDescriptionExample
eTimezone identifierExamples: UTC, GMT, Atlantic/Azores
I (uppercase i)Whether or not the date is in daylight saving time1 (daylight saving time), 0 (otherwise)
ODifference to Greenwich time (GMT) without colon between hours and minutesExample: +0200
PDifference to Greenwich time (GMT) with colon between hours and minutesExample: +02:00
TTimezone abbreviationExamples: EST, MDT ...
ZTimezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive.-43200 - 50400
FullDescriptionExample
cISO 8601 dateExample: 2001-02-03T04:05:06+00:00
rRFC 2822 formatted dateExample: Sat, 03 Feb 2001 04:05:06 +0000
USeconds 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 integer timestamps the u format character is only useful when using the date_format() function with user based timestamps created with date_create().

timestamp

The optional timestamp parameter is an integer Unix timestamp that defaults to the current local time if a timestamp is not given. In other words, it defaults to the value of time().

Return

Returns a formatted date string.

Examples

1 · format

<?

$format = "Y-m-d H:i:s";

$return = date($format);

echo $return;
2025-01-20 09:37:39

2 · timestamp · mktime

<?

$hour = 4;
$minute = 5;
$second = 6;
$month = 2;
$day = 3;
$year = 2001;

$format = "Y-m-d H:i:s";
$timestamp = mktime($hour, $minute, $second, $month, $day, $year);

$return = date($format, $timestamp);

echo $return;
2001-02-03 04:05:06

3 · timestamp · strtotime

<?

$datetime = "fourth thursday of november";

$format = "Y-m-d H:i:s";
$timestamp = strtotime($datetime);

$return = date($format, $timestamp);

echo $return;
2025-11-27 00:00:00

4 · constants

<?

echo date(DATE_ATOM) . PHP_EOL;
echo date(DATE_COOKIE) . PHP_EOL;
echo date(DATE_RSS) . PHP_EOL;
echo date(DATE_W3C);
2025-01-20T09:37:39+00:00
Monday, 20-Jan-2025 09:37:39 UTC
Mon, 20 Jan 2025 09:37:39 +0000
2025-01-20T09:37:39+00:00

5 · characters

<?

echo "day" . PHP_EOL;
echo "d: " . date("d") . PHP_EOL;
echo "D: " . date("D") . PHP_EOL;
echo "j: " . date("j") . PHP_EOL;
echo "l: " . date("l") . PHP_EOL;
echo "N: " . date("N") . PHP_EOL;
echo "S: " . date("S") . PHP_EOL;
echo "w: " . date("w") . PHP_EOL;
echo "z: " . date("z") . PHP_EOL . PHP_EOL;
echo "week" . PHP_EOL;
echo "W: " . date("W") . PHP_EOL . PHP_EOL;
echo "month" . PHP_EOL;
echo "F: " . date("F") . PHP_EOL;
echo "m: " . date("m") . PHP_EOL;
echo "M: " . date("M") . PHP_EOL;
echo "n: " . date("n") . PHP_EOL;
echo "t: " . date("t") . PHP_EOL . PHP_EOL;
echo "year" . PHP_EOL;
echo "L: " . date("L") . PHP_EOL;
echo "o: " . date("o") . PHP_EOL;
echo "Y: " . date("Y") . PHP_EOL;
echo "y: " . date("y") . PHP_EOL . PHP_EOL;
echo "time" . PHP_EOL;
echo "a: " . date("a") . PHP_EOL;
echo "A: " . date("A") . PHP_EOL;
echo "B: " . date("B") . PHP_EOL;
echo "g: " . date("g") . PHP_EOL;
echo "G: " . date("G") . PHP_EOL;
echo "h: " . date("h") . PHP_EOL;
echo "H: " . date("H") . PHP_EOL;
echo "i: " . date("i") . PHP_EOL;
echo "s: " . date("s") . PHP_EOL;
echo "u: " . date("u") . PHP_EOL;
echo "v: " . date("v") . PHP_EOL . PHP_EOL;
echo "timezone" . PHP_EOL;
echo "e: " . date("e") . PHP_EOL;
echo "I: " . date("I") . PHP_EOL;
echo "O: " . date("O") . PHP_EOL;
echo "P: " . date("P") . PHP_EOL;
echo "T: " . date("T") . PHP_EOL;
echo "Z: " . date("Z") . PHP_EOL . PHP_EOL;
echo "full" . PHP_EOL;
echo "c: " . date("c") . PHP_EOL;
echo "r: " . date("r") . PHP_EOL;
echo "U: " . date("U");
day
d: 20
D: Mon
j: 20
l: Monday
N: 1
S: th
w: 1
z: 19

week
W: 04

month
F: January
m: 01
M: Jan
n: 1
t: 31

year
L: 0
o: 2025
Y: 2025
y: 25

time
a: am
A: AM
B: 442
g: 9
G: 9
h: 09
H: 09
i: 37
s: 39
u: 000000
v: 000

timezone
e: UTC
I: 0
O: +0000
P: +00:00
T: UTC
Z: 0

full
c: 2025-01-20T09:37:39+00:00
r: Mon, 20 Jan 2025 09:37:39 +0000
U: 1737365859

6 · escape

<?

$format = 'l \t\h\e jS \o\f F Y \a\t h:i:s A';

$return = date($format);

echo $return;
Monday the 20th of January 2025 at 09:37:39 AM