idate
(PHP 5, PHP 7, PHP 8)
idate — Format a local time/date as integer
Description
$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 formatparameter stringformatcharacterDescription BSwatch Beat/Internet Time dDay of the month hHour (12 hour format) HHour (24 hour format) iMinutes I(uppercase i)returns 1if DST is activated,0otherwiseL(uppercase l)returns 1for leap year,0otherwisemMonth number NISO-8601 day of the week ( 1for Monday through7for 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 ( 0on 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
timestampparameter is an int Unix timestamp that defaults to the current local time iftimestampis omitted ornull. 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
| 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.
|
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);
?>

