PHPの時間関連の関数について


PHPの時刻関連の処理でわからないことがあったので調べた。

date関数

ローカルの日付・時間を書式化する。

指定された引数(timestamp)を与えられた文字列によってフォーマットし、日付文字列を返す。
タイムスタンプが与えられない場合は、現在の時刻が利用される。タイムスタンプのデフォルト値は現在のUnixタイムスタンプを返すtime関数となっている。

説明

date ( string $format [, int $timestamp = time() ] )

引数

format

一つ目の引数であるformatで出力される文字列の書式を決定する。

timestamp

Unixタイムスタンプを渡す。

返り値

日付を表す文字列が返される。timestampに数字以外が使用された場合は、FALSEが返される。

利用例

echo date("m.d.y"); // 3.21.20

echo date("H:i:s");  // 12:40:22

echo date("F j, Y, g:i a");  // March 21, 2020, 12:40 pm

echo date("l"); // Saturday

echo date('l \t\h\e jS'); // Saturday the 21st

mktime関数

日付をUnixタイムスタンプとして取得する。

説明

mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

引数

hour

時刻。負の値の場合は、その日の0時から遡った時刻となる。

minute

分。負の値の場合は、その前の時刻が表される。59より大きい場合はその次の時刻以降が表される。

second

秒。

month

月。

day

日数。

year

年。

is_dat

このパラメータはサマータイム (DST) の時に1にセットされ、 そうでない時に0、サマータイムであるかどうかが不明である場合に-1 にセットされる。

返り値

Unixタイムスタンプが返される。

利用例

echo mktime(0, 0, 0, 3, 0, 2000); // 95178240

time関数

現在の Unix タイムスタンプを返す。マイクロ秒の単位まで返したいときには、microtime()を利用する。

利用例

echo time(); // 1584796017

$now = time();
echo date("F j, Y, g:i a", $now); // March 21, 2020, 1:08 pm

getdate関数

日付/時刻情報を取得する

説明

getdate ([ int $timestamp = time() ] )

引数

timestamp

timestamp が指定されなかった場合のデフォルト値は、 現在の時刻

返り値

timestamp に関連する情報を連想配列で返す。

利用例

$today = getdate();
print_r($today);

<!--出力
Array
(
    [seconds] => 27
    [minutes] => 25
    [hours] => 13
    [mday] => 21
    [wday] => 6
    [mon] => 3
    [year] => 2020
    [yday] => 80
    [weekday] => Saturday
    [month] => March
    [0] => 1584797127
)-->