date関数
date関数は指定されたフォーマットで日付を出力します。最初のパラメータとして関数はフォーマットを受け取り、2番目のオプションパラメータとしてタイムスタンプ形式の時間を受け取ります。2番目のパラメータが指定されない場合、現在の時刻が使用され、指定された場合はその時刻が使用されます。
フォーマットは制御コマンド(英字)で指定され、その間に任意の区切り文字(ハイフン、コロンなど)を挿入することができます。
関数は以下のコマンドを受け取ります(大文字と小文字は異なるので注意してください):
U– 1970年1月1日からの経過秒数(つまりタイムスタンプ)。z– 年始からの日数。Y– 年、4桁。y- 年、2桁。m– 月の番号(先頭にゼロ付き)。n– 月の番号(先頭にゼロなし)。d– 月内の日付、常に2桁(つまり最初がゼロになる場合あり)。j– 月内の日付(先頭のゼロなし)。w– 曜日(0 - 日曜日、1 - 月曜日など)。h–12時間制の時。H–24時間制の時。i– 分。s– 秒。L– 閏年の場合は1、そうでない場合は0。W– 年間の週番号。t– 指定された月の日数。
構文
date(string $format, ?int $timestamp = null): string
date関数の使用例
<?php
// すべての例は2013年6月1日 12:23:59、月曜日の日付を示しています
echo date('Y'); // '2013'を出力
echo date('y'); // '13'を出力
echo date('m'); // '06'を出力 - 月の番号
echo date('d'); // '01'を出力 - 月内の日付
echo date('j'); // '1'を出力 - 月内の日付(先頭のゼロなし)
echo date('w'); // '1'を出力 - 月曜日
echo date('H'); // '12'を出力 - 時
echo date('i'); // '23'を出力 - 分
echo date('s'); // '59'を出力 - 秒
echo date('d-m-Y'); // '01-06-2013'を出力
echo date('d.m.Y'); // '01.06.2013'を出力
echo date('H:i:s d.m.Y'); // '12:23:59 01.06.2013'を出力
?>
date関数の第2パラメータ
date関数には2番目のオプションパラメータがあり、タイムスタンプ形式の時間を受け取ります。このパラメータを渡すと、date関数は現在の時刻ではなく、2番目のパラメータで渡された時刻をフォーマットします。このtimestampは、例えばmktimeを通じて取得することができます(必須ではありません):
<?php
echo date('d-m-Y', mktime(0, 0, 0, 12, 29, 13)); // '29-12-2013'を出力
?>
これを利用して、特定の日付の曜日番号を知ることができます。mktime関数を使って第2パラメータとして渡し、第1パラメータに制御文字'w'を設定します:
<?php
// 2013年12月29日が何曜日か調べる:
echo date('w', mktime(0, 0, 0, 12, 29, 13)); // '0'を出力 - 日曜日
?>
関連項目
-
タイムスタンプ形式の時間を返す
mktime関数