(PHP 5, PHP 7)
idate — ローカルな時刻/日付を整数として整形する
$format
[, int $timestamp
= time()
] ) : int
指定された引数 timestamp
を、
与えられたフォーマット文字列によりフォーマットし、日付数値を返します。
タイムスタンプが与えられない場合は、現在のローカル時刻が使われます。
つまり、timestamp
はオプションであり、
そのデフォルト値は time() の値です。
関数 date() と異なり、idate()
は 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 |
タイムゾーンがおかしい場合に |
例1 idate() の例
<?php
$timestamp = strtotime('1st January 2004'); //1072915200
// これは、年を 2 桁で表示します。
// しかし、ここでは年が "0" から始まるので、
// "4" だけが表示されます。
echo idate('y', $timestamp);
?>