PHPのidate()関数とは?書式指定子と使い方をわかりやすく解説
idate()関数とは
PHPのidate()関数は、ローカルの時刻や日付を整数(int)としてフォーマットして返す関数です。date()関数と似ていますが、idate()は常に1つの数値のみを返す点が大きな特徴です。
構文
idate(format, timestamp)
パラメータ
- timestamp − 整数のUnixタイムスタンプ。省略した場合は現在のローカル時刻、つまりtime()の戻り値がデフォルトで使用されます。
- format − 戻り値の形式を指定する書式文字。指定できる文字は以下の通りです。
書式指定文字の一覧
- B − スウォッチビート(インターネットタイム)
- d − 日(月の中の日)
- h − 時(12時間形式)
- H − 時(24時間形式)
- i − 分
- I − サマータイム(DST)が有効な場合は1、無効な場合は0を返す
- L − うるう年の場合は1、それ以外は0を返す
- m − 月(数値)
- s − 秒
- t − 現在の月の日数
- U − Unixエポック(1970年1月1日 00:00:00 GMT)からの経過秒数
- w − 曜日(日曜日=0)
- W − ISO-8601形式の年間週番号(週は月曜日始まり)
- y − 年(1〜2桁)
- Y − 年(4桁)
- z − 年間の通算日
- Z − タイムゾーンオフセット(秒)
戻り値
idate()関数は整数を返します。戻り値は先頭に「0」が付かないため、期待していたよりも桁数が少なくなる場合がある点に注意してください。例えば4月の場合、「04」ではなく「4」が返されます。
使用例
以下は、strtotime()で生成したタイムスタンプをidate()に渡す例です。
<?php
$timestamp = strtotime('2nd December 2017');
echo idate('y', $timestamp);
echo "\n";
echo idate('t', $timestamp);
?>
出力
17
31
「y」を指定すると2桁の年(17)、「t」を指定するとその月の日数(31)が取得できます。
使用例(現在の日時を取得)
タイムスタンプを省略すると、現在のローカル時刻が対象になります。
<?php
echo idate("d") . "<br>";
echo idate("h") . "<br>";
echo idate("y") . "<br>";
echo idate("Y") . "<br>";
echo idate("z") . "<br>";
echo idate("Z") . "<br>";
?>
出力
11
5
18
2018
283
0
この例では、日・時・年(2桁/4桁)・年間の通算日・タイムゾーンオフセットをそれぞれ取得して表示しています。実行環境の時刻やタイムゾーン設定によって、出力結果は変わる点に注意してください。
-
PHPのnext()関数の使い方|配列の内部ポインタを進める方法
next()関数とはPHPのnext()関数は、配列の内部ポインタを次の要素へ進め、進めた先の要素の値を返すための関数です。配列には内部的なポインタが存在し、current()で現在位置の値を取得したり、next()で要素を順番に辿ったりすることができます。構文next(arr)パラメータarr − 操作対象となる配列戻り値next()関数は、成功した場合に配列内の次の要素の値を返します。それ以上要素が存在しない場合はFALSEを返します。使用例以下はnext()関数の基本的な使用例です。<?php $os = array(windows, mac, linux, solaris); e
-
PHPのend()関数とは?使い方と実例をわかりやすく解説
PHPのend()関数は、配列の内部ポインタを最後の要素へ移動させるための関数です。この関数を呼び出すと、内部ポインタが配列の末尾の要素を指すようになり、その要素の値を取得できます。 構文 end(arr) パラメータ arr − 内部ポインタを移動させたい対象の配列を指定します。 戻り値 end()関数は、成功した場合に配列の最後の要素の値を返します。配列が空の場合はFALSEを返します。 使用例 以下は、end()関数を使って配列の最後の要素を取得する基本的な例です。 <?php $os = array(windows, mac, linux, solaris); echo en