date関数

date関数は指定されたフォーマットで日付を出力します。最初のパラメータとして関数はフォーマットを受け取り、2番目のオプションパラメータとしてタイムスタンプ形式の時間を受け取ります。2番目のパラメータが指定されない場合、現在の時刻が使用され、指定された場合はその時刻が使用されます。

フォーマットは制御コマンド(英字)で指定され、その間に任意の区切り文字(ハイフン、コロンなど)を挿入することができます。

関数は以下のコマンドを受け取ります(大文字と小文字は異なるので注意してください):

構文

phpdate(string $format, ?int $timestamp = null): string

date関数の使用例

php<?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<?php
  echo date('d-m-Y', mktime(0, 0, 0, 12, 29, 13)); // '29-12-2013'を出力
?>

これを利用して、特定の日付の曜日番号を知ることができます。mktime関数を使って第2パラメータとして渡し、第1パラメータに制御文字'w'を設定します:

php<?php
  // 2013年12月29日が何曜日か調べる:
  echo date('w', mktime(0, 0, 0, 12, 29, 13)); // '0'を出力 - 日曜日
?>

関連項目

  • タイムスタンプ形式の時間を返すmktime関数