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_STRICTE_NOTICE が発生するようになりました。

例1 idate() の例

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

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

参考

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