ローカルな時刻/日付を整数として整形する

# idate

(PHP 5, PHP 7)

idate — ローカルな時刻/日付を整数として整形する

### 説明

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

指定された引数 `timestamp` を、 与えられたフォーマット文字列によりフォーマットし、日付数値を返します。 タイムスタンプが与えられない場合は、現在のローカル時刻が使われます。 つまり、`timestamp` はオプションであり、 そのデフォルト値は time() の値です。

関数 date() と異なり、idate() は `format` パラメータ中は一文字しか受け取りません。

### パラメータ

`format`

  以下の文字が `format` パラメータ文字列として認識されます
  `format` 文字 | 説明
  --- | ---
  B | Swatch ビート/インターネット時間
  d | 月の日
  h | 時 (12 時間単位)
  H | 時 (24 時間単位)
  i | 分
  I (大文字の i) | 夏時間の適用中は 1、 そうでなければ 0 を返す
  L (大文字の l) | 閏年なら 1、 そうでなければ 0 を返す
  m | 月数
  s | 秒
  t | 現在の月の日数
  U | Unix Epoch (January 1 1970 00:00:00 UTC) からの秒数。 これは time() と同じです
  w | 曜日 (日曜日は 0)
  W | ISO-8601 形式。月曜日から始まる年単位の週番号
  y | 年 (1 桁あるいは 2 桁の数値 - 下の「注意」を確認ください)
  Y | 年 (4 桁)
  z | 年間の通算日
  Z | タイムゾーンのオフセット秒数

`timestamp`

  オプションのパラメータ `timestamp` は、 integer 型の Unix タイムスタンプです。 `timestamp` が指定されなかった場合のデフォルト値は、 現在の時刻です。言い換えると、デフォルトは time() の返り値となります。

### 返り値

整数値を返します。

idate() が返す値の型は常に integer であり、 先頭に "0" がくることはありません。そのため、idate() の返す結果が予想より少ない桁数になることもあります。以下の例を参照ください。

### エラー / 例外

すべての日付/時刻関数は、 有効なタイムゾーンが設定されていない場合に `E_NOTICE` を発生させます。また、システム設定のタイムゾーンあるいは環境変数 TZ を使用した場合には `E_STRICT` あるいは `E_WARNING` を発生させます。 date_default_timezone_set() も参照ください。

### 変更履歴

バージョン | 説明
--- | ---
5.1.0 | タイムゾーンがおかしい場合に `E_STRICT` や `E_NOTICE` が発生するようになりました。

### 例

例1 idate() の例

`<?php
$timestamp = strtotime('1st January 2004'); //1072915200
// これは、年を 2 桁で表示します。
// しかし、ここでは年が "0" から始まるので、
// "4" だけが表示されます。
echo idate('y', $timestamp);
?>`

### 参考

- date() - ローカルの日付/時刻を書式化する
- getdate() - 日付/時刻情報を取得する
- time() - 現在の Unix タイムスタンプを返す