(PHP 5, PHP 7, PHP 8)
idate — Format a local time/date part as integer
$format
, ?int $timestamp
= null
): int|false
Returns a number formatted according to the given format string using the
given integer timestamp
or the current local time
if no timestamp is given. In other words, timestamp
is optional and defaults to the value of time().
Unlike the function date(), idate()
accepts just one char in the format
parameter.
format
format character |
Description |
---|---|
B |
Swatch Beat/Internet Time |
d |
Day of the month |
h |
Hour (12 hour format) |
H |
Hour (24 hour format) |
i |
Minutes |
I (uppercase i) |
returns 1 if DST is activated,
0 otherwise |
L (uppercase l) |
returns 1 for leap year,
0 otherwise |
m |
Month number |
N |
ISO-8601 day of the week (1 for Monday
through 7 for Sunday) |
o |
ISO-8601 year (4 digits) |
s |
Seconds |
t |
Days in current month |
U |
Seconds since the Unix Epoch - January 1 1970 00:00:00 UTC - this is the same as time() |
w |
Day of the week (0 on Sunday) |
W |
ISO-8601 week number of year, weeks starting on Monday |
y |
Year (1 or 2 digits - check note below) |
Y |
Year (4 digits) |
z |
Day of the year |
Z |
Timezone offset in seconds |
timestamp
The optional timestamp
parameter is an
int Unix timestamp that defaults to the current
local time if timestamp
is omitted or null
. In other
words, it defaults to the value of time().
Returns an int on success, or false
on failure.
As idate() always returns an int and as they can't start with a "0", idate() may return fewer digits than you would expect. See the example below.
Every call to a date/time function will generate a E_WARNING
if the time zone is not valid. See also date_default_timezone_set()
Version | Description |
---|---|
8.2.0 |
Adds the N (ISO-8601 day of the week) and
o (ISO-8601 year) format characters.
|
8.0.0 |
timestamp is nullable now.
|
Example #1 idate() example
<?php
$timestamp = strtotime('1st January 2004'); //1072915200
// this prints the year in a two digit format
// however, as this would start with a "0", it
// only prints "4"
echo idate('y', $timestamp);
?>