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

# idate

(PHP 5, PHP 7, PHP 8)

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

### 説明

function idate(string `$format`, ?int `$timestamp` = `null`): int|false

指定された引数 `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` を返す
  `N` | ISO-8601 形式の曜日 (`1` は月曜日で、 `7` が日曜日)
  `o` | ISO-8601 形式の年 (4 桁の数値)
  `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` は、 int 型の Unix タイムスタンプです。 `timestamp` が指定されなかったり、`null` だった場合のデフォルト値は、 現在の時刻です。言い換えると、デフォルトは time() の返り値となります。

### 戻り値

整数値を返します。 失敗した場合に `false` を返します

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

### エラー / 例外

すべての日付/時刻関数は、 有効なタイムゾーンが設定されていない場合に `E_WARNING` を発生させます。 date_default_timezone_set() も参照ください。

### 変更履歴

バージョン | 説明
--- | ---
8.2.0 | フォーマット文字 `N` (ISO-8601 形式の曜日) と `o` (ISO-8601 形式の年) が追加されました。
8.0.0 | `timestamp` は、nullable になりました。

### 例

例1 idate() の例

    <?php
    $timestamp = strtotime('1st January 2004'); // 1072915200

    // これは、年を 2 桁で表示します。
    // しかし、ここでは年が "0" から始まるので、
    // "4" だけが表示されます。

    echo idate('y', $timestamp) . "\n";

    $timestamp = strtotime('1st January 2024'); // 1704067200
    echo idate('y', $timestamp);

上の例の出力は以下となります。

    4
    24

### 参考

- DateTimeInterface::format() - 指定した書式でフォーマットした日付を返す
- date() - Unixタイムスタンプを書式化する
- getdate() - 日付/時刻情報を取得する
- time() - 現在の Unix タイムスタンプを返す

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open