(PHP 5, PHP 7, PHP 8)

idateFormat a local time/date as integer


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.



The following characters are recognized in the format parameter string
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


Der optionale Parameter timestamp ist ein Unix-Timestamp als int oder die aktuelle lokale Zeit, wenn timestamp nicht übergeben wurde oder null ist. Er entspricht dann also dem Ergebnis der Funktion time().


Returns an int on success, Bei einem Fehler wird false zurückgegeben..

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.


Jeder Aufruf der Datums- und Zeitfunktionen generiert einen Fehler der Stufe E_WARNING, wenn die Zeitzone ungültig ist. Siehe auch date_default_timezone_set()


Version Beschreibung
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.


Beispiel #1 idate() example

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

Siehe auch

  • date() - Formatiert einen Unix-Zeitstempel
  • getdate() - Gibt Datums- und Zeitinformationen zurück
  • time() - Liefert den aktuellen Unix-Zeitstempel

add a note add a note

User Contributed Notes 1 note

khaine at herbok dot org
11 years ago
A function that made by idate for print a hour you want:

function hour ( $a, $b )
$timestamp = strtotime(''.$a.':'.$b.':00');
$aa = idate('H', $timestamp);
$bb = idate('i', $timestamp);
$bb=="0") { $cc = "00"; } else { $cc = $bb; }
$dd = $aa.".".$cc;

Why should i use it?
For example:
You have to print 08:00 to 21:00 by 15 minutes periods.
This is a useful code for shipping sites for delivery time.

echo "<select name=\"example\">";
$iii = $ii * 15;
$hour = hour($i, $iii);
"<option value=\"".$hour."\">".$hour."</option>";
To Top