<?
// idate() for PHP < 5
// Sanity check
if (!is_callable('idate')) {
function idate($char, $ts = false) {
if ($ts === false) {
$ts = time();
} else if (!is_numeric($ts)) {
return false;
}
$char = $char{0};
if ($char == 'B') {
// Swatch time ignores the $ts argument.
return ((int) ((gmdate('U') + 3600) * (1000 / 86400))) % 1000;
} else {
return (int) date($char, $ts); // Drop leading zeroes by casting into an integer.
}
}
}
?>
idate
(PHP 5)
idate — ローカルな時刻/日付を整数として整形する
説明
int idate ( string format [, int timestamp] )指定された引数 timestamp を、 与えられたフォーマット文字列によりフォーマットし、日付数値を返します。 タイムスタンプが与えられない場合は、現在のローカル時刻が使われます。 つまり、timestamp はオプションであり、 そのデフォルト値は time() の値です。
関数 date() と異なり、idate() は format パラメータ中は一文字しか受け取りません。
パラメータ
- format
表 44. 以下の文字が format パラメータ文字列として認識されます
format 文字 説明 B Swatch ビート/インターネット時間 d 月の日 h 時 (12 時間単位) H 時 (24 時間単位) i 分 I 夏時間の適用中は 1、 そうでなければ 0 を返す L 閏年なら 1、 そうでなければ 0 を返す m 月数 s 秒 t 現在の月の日数 U Unix Epoch (January 1 1970 00:00:00 GMT) からの秒数。 これは 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 を発生させます。 date_default_timezone_set() も参照ください。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.1.0 | タイムゾーンがおかしい場合に E_STRICT や E_NOTICE が発生するようになりました。 |
例
例 424. idate() の例
<?php
$timestamp = strtotime('1st January 2004'); //1072915200
// これは、年を 2 桁で表示します。
// しかし、ここでは年が "0" から始まるので、
// "4" だけが表示されます。
echo idate('y', $timestamp);
?>
参考
| date() |
| time() |
idate
10-Oct-2006 08:26
08-Jun-2005 03:21
To clarify an ambiguity due to the fount: 'I' is a capital i, rather than a miniscule L.