ホーム > PHP関数リファレンス > 日付・時間系 > php date 日付や時刻の取得
UPDATE:2023年06月02日

php date 日付や時刻の取得

php date 日付や時刻の取得 | wepicks!
PHP4 PHP5 PHP7 PHP8

php date 日時を取得する

タイムゾーンの指定
php.ini に記述する場合
date.timezone = Asia/Tokyo
スクリプトに記述する場合
<?php date_default_timezone_set ('Asia/Tokyo'); ?>
※日本時間に合わせます。タイムゾーンに誤りがあると日付系の関数やクラスでエラーが起こる場合があります。
date() 書式
string 日時の文字列 = date(string $format [, int $timestamp = time()]);
[ ]省略可(タイムスタンプがない場合現在日時となる)

説明変数のデータ型がスカラー型かどうかチェックする
引数mixed $format日付/時刻のフォーマット文字列
引数int $timestamp整数型のUNIXタイムスタンプ
返り値string 日時の文字列日時の文字列。int $timestamp に数字以外が入力されると FALSE を返す

サンプル
実行日時 2019-11-08 09:39:23


データ型 引数 や 返り値 のデータ型の説明

引数 や 返り値内容(引数 | 返り値)
string文字列型 を受け入れる。 | 文字列型 を返す。
int整数型 を受け入れる。 | 整数型 を返す。
float浮動小数点数型 を受け入れる。 | 浮動小数点数型 を返す。
bool論理型 を受け入れる。 | 論理型 を返す。
number整数型 または 浮動小数点数型 を受け入れる。 | 整数型 または 浮動小数点数型 を返す。
array配列型 を受け入れる。 | 配列型 を返す。
objectオブジェクト型 を受け入れる。 | オブジェクト型 を返す。
array|object配列型 または オブジェクト型 を受け入れる。 | 配列型 または オブジェクト型 を返す。
mixed複数の データ型 を受け入れる(パラメーター)、或いは、返す(返り値)ことが可能。全てのデータ型ではありません。例えば gettype()関数 は全ての型を受け入れますが、一方、str_replace()関数 は、文字列型 と 配列型 のみを受け入れます。また、reset()関数 や end()関数 は、返り値に 配列型 と 論理型(FALSE)を返します。
voidパラメータ一覧で void が使用されている場合、その関数がパラメータを受け付けないことを表します。 | 返り値の型が void である場合、返り値に意味がないことを表します。
callbackcallback 疑似型がこのドキュメントで使われていたのは、PHP 5.4 で callable タイプヒントが導入される前のことでした。両者はまったく同じ意味です。

◆ date() 内容

日付や時刻などの日時を取得

日付や時刻などの日時を取得します。引数の string $format の書式「日付/時刻フォーマット文字列」に従って「日時の文字列」を返します。「 日時の文字列 = date('日付/時刻のフォーマット文字列'); 」例えば string $format を「 Y 」と指定すると、4桁の年 が出力されます。「 Y 」は4桁の年を取得するためのフォーマット文字列となります。

その他にも 月、日、時、分、秒、曜日、閏年など、様々な日時に関する情報が取得可能で、それらに合わせたフォーマット文字列が用意されています。

引数の int $timestamp は、UNIXタイムスタンプで、タイムスタンプを指定すると、指定したタイムスタンプに合わせた日時を取得できます。「 日時の文字列 = date('日付/時刻のフォーマット文字列', UNIXタイムスタンプ); 」。タイムスタンプは、strtotime()関数 や mktime()関数 で取得できます。

strtotime()関数 で6年後のタイムスタンプを指定すると、2019年現在からプラス6年後の2025が取得できます。タイムスタンプは省略可能で、省略した場合は現在日時となります。time() を指定したのと同意です。

◆ date() パラメーター

内容
必須 string $format日付/時刻フォーマット文字列
int $timestamp整数型のUNIXタイムスタンプ

◆ date() 返り値

string
引数 string $format で指定された書式に合わせた日時の文字列を返します。オプションで int $timestamp を指定すると UNIXタイムスタンプ に合わせた日時の文字列を返します。int $timestamp に数字以外が入力されると FALSE を返します。

string 日時の文字列。

◆ date() 変更履歴

PHPバージョン変更内容
5.1.1PHP 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
曜日D3文字のテキスト形式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
g12時間単位。先頭ゼロなし1~12
G24時間単位。先頭ゼロなし0~23
h12時間単位。先頭ゼロあり01~12
H24時間単位。先頭ゼロあり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
全日付cISO8601 フォーマット日付2019-05-15T01:04:54+09:00
rRFC2822 フォーマット日付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
タイムゾーンオフセット秒数ZUTC(世界協定時間=グリニッジ天文台が有る場所東経0度の場所を基準にして決められている時間)の西側のタイムゾーン用のオフセット秒数は常に負になります。UTCの東側のオフセット秒数は常に正になります。 日本は32400なので、+9時間です。-43200 ~ 50400
echo date('Z');//32400
UNIX時間からの秒数UUnix 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秒

実行結果
2019-11-08
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秒

実行結果
2030-12-31
2030年12月31日
2030年
12月
31日
Tue
Dec 31, 2030
December 31, 2030
Tuesday December 31, 2030
23:59:59
11:59:59 PM

タグ(=記事関連ワード)

タグ: ,

日付

投稿日:2019年11月8日
最終更新日:2023年06月02日

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/phpfunction-date-date/trackback/

page top