idate
(PHP 5, PHP 7, PHP 8)
Format a local time/date part as integer
Description
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
formatformatcharacterDescription 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
Return Values
Returns an int on success, Falseforfailure.
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 Description
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
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) . "\n";
$timestamp = strtotime('1st January 2024'); // 1704067200
echo idate('y', $timestamp);The above example will output:
4
24