CakeFest 2017 NYC, the Official CakePHP Conference


(PHP 5)

idateFormat a local time/date as integer


int idate ( string $format [, int $timestamp = time() ] )

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


The optional timestamp parameter is an integer Unix timestamp that defaults to the current local time if a timestamp is not given. In other words, it defaults to the value of time().

Return Values

Returns an integer.

As idate() always returns an integer 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_NOTICE if the time zone is not valid, and/or a E_STRICT or E_WARNING message if using the system settings or the TZ environment variable. See also date_default_timezone_set()


Version Description

Now issues the E_STRICT and E_NOTICE time zone errors.


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

See Also

  • date() - Format a local time/date
  • getdate() - Get date/time information
  • time() - بازگرداندن Unix timestamp فعلی

add a note add a note

User Contributed Notes 1 note

khaine at herbok dot org
6 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