php date 日付や時刻の取得
php date 日時を取得する
php.ini に記述する場合
string 日時の文字列 = date(string $format [, int $timestamp = time()]);
[ ]省略可(タイムスタンプがない場合現在日時となる)
説明 | 変数のデータ型がスカラー型かどうかチェックする | |
---|---|---|
引数 | mixed $format | 日付/時刻のフォーマット文字列 |
引数 | int $timestamp | 整数型のUNIXタイムスタンプ |
返り値 | string 日時の文字列 | 日時の文字列。int $timestamp に数字以外が入力されると FALSE を返す |
サンプル
実行日時 2019-11-08 09:39:23
1 2 3 4 5 6 7 8 9 10 | <?php //現在日時 echo date('Y年m月d日 H時i分s秒')."<br>\n"; //出力 2019年11月08日 09時39分23秒 //タイムスタンプを指定 $timestamp = mktime(23, 59, 59, 12, 31, 2020); //タイムスタンプ echo date('Y年m月d日 H時i分s秒', $timestamp)."<br>\n"; //出力 2020年12月31日 23時59分59秒 ?> |
データ型 引数 や 返り値 のデータ型の説明
引数 や 返り値 | 内容(引数 | 返り値) |
---|---|
string | 文字列型 を受け入れる。 | 文字列型 を返す。 |
int | 整数型 を受け入れる。 | 整数型 を返す。 |
float | 浮動小数点数型 を受け入れる。 | 浮動小数点数型 を返す。 |
bool | 論理型 を受け入れる。 | 論理型 を返す。 |
number | 整数型 または 浮動小数点数型 を受け入れる。 | 整数型 または 浮動小数点数型 を返す。 |
array | 配列型 を受け入れる。 | 配列型 を返す。 |
object | オブジェクト型 を受け入れる。 | オブジェクト型 を返す。 |
array|object | 配列型 または オブジェクト型 を受け入れる。 | 配列型 または オブジェクト型 を返す。 |
mixed | 複数の データ型 を受け入れる(パラメーター)、或いは、返す(返り値)ことが可能。全てのデータ型ではありません。例えば gettype()関数 は全ての型を受け入れますが、一方、str_replace()関数 は、文字列型 と 配列型 のみを受け入れます。また、reset()関数 や end()関数 は、返り値に 配列型 と 論理型(FALSE)を返します。 |
void | パラメータ一覧で void が使用されている場合、その関数がパラメータを受け付けないことを表します。 | 返り値の型が void である場合、返り値に意味がないことを表します。 |
callback | callback 疑似型がこのドキュメントで使われていたのは、PHP 5.4 で callable タイプヒントが導入される前のことでした。両者はまったく同じ意味です。 |
◆ date() 内容
日付や時刻などの日時を取得します。引数の string $format の書式「日付/時刻フォーマット文字列」に従って「日時の文字列」を返します。「 日時の文字列 = date('日付/時刻のフォーマット文字列'); 」例えば string $format を「 Y 」と指定すると、4桁の年 が出力されます。「 Y 」は4桁の年を取得するためのフォーマット文字列となります。
1 | <?php echo date('Y');//出力 2019 ?> |
その他にも 月、日、時、分、秒、曜日、閏年など、様々な日時に関する情報が取得可能で、それらに合わせたフォーマット文字列が用意されています。
1 | <?php echo date('Y-m-d H:i:s');//出力 2019-11-08 09:39:23 ?> |
引数の int $timestamp は、UNIXタイムスタンプで、タイムスタンプを指定すると、指定したタイムスタンプに合わせた日時を取得できます。「 日時の文字列 = date('日付/時刻のフォーマット文字列', UNIXタイムスタンプ); 」。タイムスタンプは、strtotime()関数 や mktime()関数 で取得できます。
1 | <?php echo date('Y', strtotime('+6 year'));//出力 2025 ?> |
strtotime()関数 で6年後のタイムスタンプを指定すると、2019年現在からプラス6年後の2025が取得できます。タイムスタンプは省略可能で、省略した場合は現在日時となります。time() を指定したのと同意です。
◆ date() パラメーター
値 | 内容 |
---|---|
必須 string $format | 日付/時刻フォーマット文字列 |
int $timestamp | 整数型のUNIXタイムスタンプ |
◆ date() 返り値
string
引数 string $format で指定された書式に合わせた日時の文字列を返します。オプションで int $timestamp を指定すると UNIXタイムスタンプ に合わせた日時の文字列を返します。int $timestamp に数字以外が入力されると FALSE を返します。
◆ date() 変更履歴
PHPバージョン | 変更内容 |
---|---|
5.1.1 | PHP 5.1.1 以降、format パラメータで標準的な 日付/時刻フォーマットを指定する際に有用な 定数がいくつか追加されました。 |
5.1.0 | タイムゾーンに誤りがある場合、E_STRICT や E_NOTICE が発生。 |
5.1.0 | 有効なタイムスタンプの範囲は、通常 Fri, 13 Dec 1901 20:45:54 GMT から Tue, 19 Jan 2038 03:14:07 GMT までです (これらの日付は、32 ビット符号付き整数の最小および最大値に 対応します)。 しかし、PHP 5.1 より前のバージョンでは、システム環境によっては (例: Windows) この範囲が 1970 年 1 月 1 日から 2038 年 1 月 19 日 までに制限されます。 |
date() 日付/時刻フォーマット文字列
date() 日付/時刻フォーマット文字列
取得内容 | フォーマット文字 | 説明 | 戻り値の例 |
---|---|---|---|
年 | Y | 年 4 桁の数字 | 1999 や 2019 |
y | 年 2 桁の数字 | 99 や 19 | |
L | 閏年かどうか。1なら閏年。0なら閏年ではない。 | 1 か 0 | |
echo date('Y');//2019
echo date('y');//19
echo date('L');//0
| |||
月 | F | 月 フルスペルの文字 | January~December |
m | 月 数字。先頭にゼロをつける | 01~12 | |
M | 月 3 文字形式 | Jan~Dec | |
n | 月 数字。先頭にゼロをつけない | 1~12 | |
t | 月 指定した月の日数 | 28~31 | |
echo date('F');//May
echo date('m');//05
echo date('M');//May
echo date('n');//5
echo date('t');//31
| |||
日 | d | 日 2桁の数字(先頭にゼロがつく場合も) | 01~31 |
j | 日 数字。先頭にゼロをつけない | 1~31 | |
echo date('d');//07
echo date('j');//7
| |||
曜日 | D | 3文字のテキスト形式 | Mon~Sun |
l | フルスペル形式 | Sunday~Saturday | |
N | 数字 | 1(月曜) から 7(日曜) | |
w | 数字 | 0(日曜) から 6(土曜) | |
W | 数字 | 月曜日に始まる年単位の週番号 | |
echo date('D');//Wed
echo date('l');//Wednesday
echo date('N');//3
echo date('w');//3
echo date('W');//21
| |||
時 | g | 12時間単位。先頭ゼロなし | 1~12 |
G | 24時間単位。先頭ゼロなし | 0~23 | |
h | 12時間単位。先頭ゼロあり | 01~12 | |
H | 24時間単位。先頭ゼロあり | 00~23 | |
a | 午前/午後。小文字表示 | am pm | |
A | 午前/午後。大文字表示 | AM PM | |
echo date('g');//12
echo date('G');//0
echo date('h');//12
echo date('H');//00
echo date('a');//pm
echo date('A');//PM
| |||
分 | i | 先頭ゼロあり | 00~59 |
echo date('i');//59
| |||
秒 | s | 先頭ゼロあり | 00~59 |
echo date('s');//01
| |||
ミリ秒 | v | ミリ秒 (PHP 7.0.0 で追加) uと同じ注釈が当てはまります。 | 000~999 |
echo date('v');//000
| |||
マイクロ秒 | u | マイクロ秒 (PHP 5.2.2 で追加)。date() の場合、これは常に 000000 となることに注意。というのも、この関数が受け取るパラメータは integer 型だからです。一方 DateTime をマイクロ秒つきで作成した場合は、DateTime::format() はマイクロ秒にも対応しています。 | 000000~999999 |
echo date('u');//000000
| |||
全日付 | c | ISO8601 フォーマット日付 | 2019-05-15T01:04:54+09:00 |
r | RFC2822 フォーマット日付 | Wed, 15 May 2019 01:04:54 +0900 | |
echo date('c');//2019-05-15T01:04:54+09:00
echo date('r');//Wed, 15 May 2019 01:04:54 +0900
| |||
タイムゾーンオフセット秒数 | Z | UTC(世界協定時間=グリニッジ天文台が有る場所東経0度の場所を基準にして決められている時間)の西側のタイムゾーン用のオフセット秒数は常に負になります。UTCの東側のオフセット秒数は常に正になります。 日本は32400なので、+9時間です。 | -43200 ~ 50400 |
echo date('Z');//32400
| |||
UNIX時間からの秒数 | U | Unix Epoch(エポック秒(UNIX時間))=1970年1月1日0時0分0秒からの秒数 | 1557850516 |
echo date('U');//1557850516
| |||
英語形式の序数 | S | 英語形式の序数を表すサフィックス。2 文字。 | st, nd, rd または th。 jと一緒に使用する ことができる。 |
echo date('S');//st
|
date() サンプル
実行日時 2019年11月08日 11時14分46秒
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo date('Y-m-d').'<br>'; echo date('Y年n月d日').'<br>'; echo date('Y年').'<br>'; echo date('n月').'<br>'; echo date('j日').'<br>'; echo date('D').'<br>'; echo date('M d, Y').'<br>'; echo date('F d, Y').'<br>'; echo date('l F d, Y').'<br>'; echo date('H:i:s').'<br>'; echo date('g:i:s A').'<br>'; ?> |
2019年11月08日
2019年
11月
8日
Fri
Nov 08, 2019
November 08, 2019
Friday November 08, 2019
11:14:46
11:14:46 AM
タイムスタンプ 2030年12月31日 23時59分59秒
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php //タイムスタンプ $timestamp = mktime(23, 59, 59, 12, 31, 2030); echo date('Y-m-d', $timestamp).'<br>'; echo date('Y年n月d日', $timestamp).'<br>'; echo date('Y年', $timestamp).'<br>'; echo date('n月', $timestamp).'<br>'; echo date('j日', $timestamp).'<br>'; echo date('D', $timestamp).'<br>'; echo date('M d, Y', $timestamp).'<br>'; echo date('F d, Y', $timestamp).'<br>'; echo date('l F d, Y', $timestamp).'<br>'; echo date('H:i:s', $timestamp).'<br>'; echo date('g:i:s A', $timestamp).'<br>'; ?> |
2030年12月31日
2030年
12月
31日
Tue
Dec 31, 2030
December 31, 2030
Tuesday December 31, 2030
23:59:59
11:59:59 PM
タグ(=記事関連ワード)
日付
最終更新日:2023年06月02日