PHP date()関数

PHP Date/TimePHP Date/Time リファレンスマニュアル

例

ローカルの日付と時刻をフォーマットし、フォーマットされた日付文字列を返します:

<?php //タイムゾーンを設定 date_default_timezone_set("PRC"); //現在の時刻を出力 PHP_EOL 改行文字、さまざまなシステムに対応 echo date("Y-m-d H:i:s") . PHP_EOL; echo date("Y年m月d日H時i分s秒") . PHP_EOL; //指定時刻 $time = strtotime("2018-01-18 08:08:08"); //指定した日付をタイムスタンプに変換 echo date("Y-m-d H:i:s", $time) . PHP_EOL; ?>

出力は次のようになります:

2018-01-31 22:09:35
2018 年 01 月 31 日 22 点 09 分 35 秒
2018-01-18 08:08:08

定義と使い方

date() 関数はローカルの日付と時刻をフォーマットし、フォーマットされた日付文字列を返します。

構文

date(format,timestamp);

整数の timestamp を指定されたフォーマット文字列に従ってフォーマットした文字列を返します。タイムスタンプが指定されていない場合は、ローカルの現在時刻を使用します。言い換えれば、timestamp はオプションであり、デフォルトは time() です。


パラメータ 説明
format 必須。出力される日付文字列のフォーマットを指定します。以下の文字を使用できます:
  • d - 月のうちの日(01 から 31)
  • D - 曜日のテキスト表記(3文字)
  • j - 月のうちの日、先頭のゼロなし(1 から 31)
  • l('L' の小文字)- 曜日の完全なテキスト表記
  • N - 曜日の ISO-8601 数値形式(1 は Monday[月曜日]、7 は Sunday[日曜日])
  • S - 月のうちの日に対する英語の序数接尾辞(2文字:st、nd、rd または th。j と組み合わせて使用)
  • w - 曜日の数値表現(0 は Sunday[日曜日]、6 は Saturday[土曜日])
  • z - 年のうちの日(0 から 365)
  • W - ISO-8601 数値形式での年の週番号(各週は Monday[月曜日] から始まる)
  • F - 月の完全なテキスト表記(January[1月] から December[12月])
  • m - 月の数値表現(01 から 12)
  • M - 月の短いテキスト表記(3文字)
  • n - 月の数値表現、先頭のゼロなし(1 から 12)
  • t - 指定した月の日数
  • L - うるう年かどうか(うるう年の場合は 1、それ以外は 0)
  • o - ISO-8601 基準の年
  • Y - 年の4桁表記
  • y - 年の2桁表記
  • a - 小文字の am または pm
  • A - 大文字の AM または PM
  • B - Swatch Internet Time(000 から 999)
  • g - 12時間制、先頭のゼロなし(1 から 12)
  • G - 24時間制、先頭のゼロなし(0 から 23)
  • h - 12時間制、先頭のゼロあり(01 から 12)
  • H - 24時間制、先頭のゼロあり(00 から 23)
  • i - 分、先頭のゼロあり(00 から 59)
  • s - 秒、先頭のゼロあり(00 から 59)
  • u - マイクロ秒(PHP 5.2.2 で追加)
  • e - タイムゾーン識別子(例:UTC、GMT、Atlantic/Azores)
  • I(i の大文字)- 夏時間かどうか(夏時間の場合は 1、それ以外は 0)
  • O - グリニッジ標準時(GMT)との差(時間単位)(例:+0100)
  • P - グリニッジ標準時(GMT)との差(hours:minutes 単位)(PHP 5.1.3 で追加)
  • T - タイムゾーンの略称(例:EST、MDT)
  • Z - 秒単位のタイムゾーンオフセット。UTC より西のタイムゾーンのオフセットは負数(-43200 から 50400)
  • c - ISO-8601 標準の日付(例:2013-05-05T16:34:42+00:00)
  • r - RFC 2822 形式の日付(例:Fri, 12 Apr 2013 12:01:05 +0200)
  • U - Unix エポック(January 1 1970 00:00:00 GMT)からの経過秒数

また、次の事前定義済み定数を使用できます(PHP 5.1.0 以降で利用可能):

  • DATE_ATOM - Atom(例:2013-04-12T15:52:01+00:00)
  • DATE_COOKIE - HTTP Cookies(例:Friday, 12-Apr-13 15:52:01 UTC)
  • DATE_ISO8601 - ISO-8601(例:2013-04-12T15:52:01+0000)
  • DATE_RFC822 - RFC 822(例:Fri, 12 Apr 13 15:52:01 +0000)
  • DATE_RFC850 - RFC 850(例:Friday, 12-Apr-13 15:52:01 UTC)
  • DATE_RFC1036 - RFC 1036(例:Fri, 12 Apr 13 15:52:01 +0000)
  • DATE_RFC1123 - RFC 1123(例:Fri, 12 Apr 2013 15:52:01 +0000)
  • DATE_RFC2822 - RFC 2822(Fri, 12 Apr 2013 15:52:01 +0000)
  • DATE_RFC3339 - DATE_ATOM と同じ(PHP 5.1.3 以降)
  • DATE_RSS - RSS(Fri, 12 Aug 2013 15:52:01 +0000)
  • DATE_W3C - ワールドワイドウェブコンソーシアム(例:2013-04-12T15:52:01+00:00)
timestamp オプション。整数の Unix タイムスタンプを指定します。デフォルトは現在のローカル時刻(time())です。

技術詳細

戻り値: 成功した場合はフォーマットされた日付文字列を返し、失敗した場合は E_WARNING エラーを発生させて FALSE を返します。
PHP バージョン: 4+
更新ログ: PHP 5.1.0:E_STRICT および E_NOTICE のタイムゾーンエラーが追加されました。有効なタイムスタンプの範囲は、1901 年 12 月 13 日 20:45:54 GMT 金曜日から 2038 年 1 月 19 日 03:14:07 GMT 火曜日までです。5.1.0 より前のバージョンでは、一部のシステム(Windows など)でタイムスタンプが 01-01-1970 から 19-01-2038 に制限されていました。
PHP 5.1.1:format パラメータを指定するための標準の日付/時刻フォーマット定数が追加されました。


PHP Date/TimePHP Date/Time リファレンスマニュアル その他の拡張