idate

(PHP 5, PHP 7, PHP 8)

idateFormat a local time/date part as integer

Description

idate(string$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.

Parameters

format

The following characters are recognized in the format parameter string
format characterDescription
BSwatch Beat/Internet Time
dDay of the month
hHour (12 hour format)
HHour (24 hour format)
iMinutes
I (uppercase i)returns 1 if DST is activated, 0 otherwise
L (uppercase l)returns 1 for leap year, 0 otherwise
mMonth number
NISO-8601 day of the week (1 for Monday through 7 for Sunday)
oISO-8601 year (4 digits)
sSeconds
tDays in current month
USeconds since the Unix Epoch - January 1 1970 00:00:00 UTC - this is the same as time()
wDay of the week (0 on Sunday)
WISO-8601 week number of year, weeks starting on Monday
yYear (1 or 2 digits - check note below)
YYear (4 digits)
zDay of the year
ZTimezone 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().

Return Values

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.

Errors/Exceptions

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()

Changelog

VersionDescription
8.2.0 Adds the N (ISO-8601 day of the week) and o (ISO-8601 year) format characters.
8.0.0timestamp is nullable now.

Examples

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);
?>

See Also

To Top