# idate

(PHP 5, PHP 7)

idate — Format a local time/date as integer

### Description

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

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

`timestamp`

  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.

### Errors/Exceptions

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

### Changelog

Version | Description
--- | ---
5.1.0 | Now issues the `E_STRICT` and `E_NOTICE` time zone errors.

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

- date() - Format a local time/date
- getdate() - Get date/time information
- time() - Return current Unix timestamp