idate

(PHP 5)

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

説明

int idate ( string format [, int timestamp] )

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

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

パラメータ

format

表 1. 以下の文字が format パラメータ文字列として認識されます

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

timestamp

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

返り値

整数値を返します。

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

エラー / 例外

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

変更履歴

バージョン説明
5.1.0

タイムゾーンがおかしい場合に E_STRICTE_NOTICE が発生するようになりました。

例 1. idate() の例

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

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

参考

date()
time()