menu
ホーム > PHPサンプル > 日付系 > PHP 現在の日付や時間を取得したい
PHPサンプル

UPDATE:2019年06月25日

PHP 現在の日付や時間を取得したい

PHP 現在の日付や時間を取得したい | wepicks!
PHP5 PHP7

現在の日付や時間を取得する

PHP で現在の日付や時間を得るには、date()関数DateTimeクラス を利用します。date() は、指定した「日付や時刻のフォーマット文字列」から日時の文字列を返します。オプションでUNIXタイムスタンプを指定すると指定したタイムスタンプに合わせた日時を返します。タイムスタンプを省略すると現在日時を返します。DateTimeクラスでは様々な日付や時刻を表すことが出来ます。
その他の日付を取得するには「PHP 日付 あらゆる日時を取得」をお読みください。
タイムゾーンの指定
php.ini に記述する場合
date.timezone = Asia/Tokyo
スクリプトに記述する場合
<?php date_default_timezone_set ('Asia/Tokyo'); ?>
※日本時間に合わせます。タイムゾーンに誤りがあると日付系の関数やクラスでエラーが起こる場合があります。
使用する関数やクラス

書式 date()
日時の文字列 = date('日付/時刻フォーマット文字列' [,UNIXタイムスタンプ]);
//[ ]省略可(タイムスタンプがない場合現在日時となる)
//返り値は文字列(string)
date() が理解できる日付/時刻フォーマット文字列

書式 DateTimeクラス
オブジェクト = new DateTime(['英文形式 OR 日付/時刻のフォーマット文字列']);
//[ ]は省略可能です。
DateTimeクラス が理解できる英文形式フォーマット文字列
DateTimeクラス が理解できる日付/時刻のフォーマット文字列
DateTime format()メソッド が理解できるフォーマット文字列

※UNIXタイムスタンプは、1970年1月1日00時00分00秒UTC(協定世界時と一致する標準時)らの経過秒数です。例えば2019年5月15日1時34分25秒のUNIXタイムスタンプは 1557851665 となります。


date() や DateTimeクラス format()メソッド の日付/時刻フォーマット文字列 簡易表

取得内容フォーマット文字説明
Y1999 や 2020年 4 桁の数字
y99 や 19年 2 桁の数字
L1 か 0閏年かどうか。1なら閏年。0なら閏年ではない
FJanuary~December月 フルスペルの文字
m01~12月 数字。先頭にゼロをつける
MJan~Dec月 3 文字形式
n1~12月 数字。先頭にゼロをつけない
t28~31月 指定した月の日数
d01~31日 2桁の数字(先頭にゼロがつく場合も)
j1~31日 数字。先頭にゼロをつけない
曜日DMon~Sun3文字のテキスト形式
lSunday~Saturdayフルスペル形式
N1~7数字 1(月曜) から 7(日曜)
w0~6数字 0(日曜) から 6(土曜)
W1数字 月曜日に始まる年単位の週番号
g1~1212時間単位。先頭ゼロなし
G0~2324時間単位。先頭ゼロなし
h01~1212時間単位。先頭ゼロあり
H00~2324時間単位。先頭ゼロあり
aam pm午前/午後。小文字表示
AAM PM午前/午後。大文字表示
i00~59先頭ゼロあり
s00~59先頭ゼロあり
全日付c2020-05-15T01:04:54+09:00ISO8601 フォーマット日付
rWed, 15 May 2020 01:04:54 +0900RFC2822 フォーマット日付

現在の日時を取得

date() で現在の日付や時間を取得する

date()関数 は、指定した「日付や時刻のフォーマット文字列」から「日時の文字列」を返します「 日時の文字列 = date('日付/時刻のフォーマット文字列'); 」。

例えば

とすると、現在の「」(4桁)が取得できます。「Y」は4桁の年数を表す「日付や時刻のフォーマット文字列」です。

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

オプションのタイムスタンプで+5年後のタイムスタンプを指定します。結果は現在から5年後の「」(4桁)が取得できます。

date() の「年 月 日 時 分 秒」を表現するフォーマット文字列を使用すると、現在の日時を取得することが出来ます。
実行日時 2020-01-01 01:01:01 の場合

結果は

2020-01-01
01:01:01
2020-01-01 01:01:01

となります。

DateTimeクラス で現在の日付や時間を取得する

DateTimeクラスは様々な日付や時刻を表現できるクラスです。DateTimeクラスを呼び出しオブジェクト(インスタンス)を作成します「 オブジェクト = new DateTime(); 」。DateTimeクラスを呼び出す際に日付や時刻を指定することも出来ます「 オブジェクト = new DateTime('日付/時刻のフォーマット文字列'); 」。省略した場合は現在の日時になります。オブジェクトのformat()メソッドは、指定した日付や時刻のフォーマット文字列から日時の文字列を返します「 日時の文字列 = オブジェクト->format('日付/時刻のフォーマット文字列'); 」。成功すると日時の文字列を返し、失敗すると FALSE を返します。format()メソッドで指定する日時のフォーマット文字列はdate()関数で指定するフォーマットと同じです。

実行日時 2020-01-01 01:01:01 の場合

結果は

2020-01-01
01:01:01
2020-01-01 01:01:01

となります。

現在の 年 取得

date() で 年 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・Y 年。4 桁の数字。(1999 や 2019):2019
・y 年。2 桁の数字。(99 や 19):19

となります。

DateTimeクラス で 年 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・Y 年。4 桁の数字。(1999 や 2019):2019
・y 年。2 桁の数字。(99 や 19):19

となります。

現在の 月 取得

date() で 月 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・F 月。フルスペルの文字。(January~December):May
・m 月。数字。先頭にゼロをつける。(01~12):05
・M 月。3 文字形式(Jan~Dec):May
・n 月。数字。先頭にゼロをつけない。(1~12):5
・t 指定した月の日数。(28~31):31

となります。

DateTimeクラス で 月 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・F 月。フルスペルの文字。(January~December):May
・m 月。数字。先頭にゼロをつける。(01~12):05
・M 月。3 文字形式(Jan~Dec):May
・n 月。数字。先頭にゼロをつけない。(1~12):5
・t 指定した月の日数。(28~31):31

となります。

現在の 日 取得

date() で 日 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・d 日。二桁の数字(先頭にゼロがつく場合も)(01~31):27
・j 日。先頭にゼロをつけない。(1~31):27

となります。

DateTimeクラス で 日 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・d 日。二桁の数字(先頭にゼロがつく場合も)(01~31):27
・j 日。先頭にゼロをつけない。(1~31):27

となります。

現在の 曜日 取得

date() で 曜日 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・D 曜日。3文字のテキスト形式。(Mon~Sun):Mon
・l 曜日。フルスペル形式。(Sunday~Saturday):Monday
・w 曜日。数値。(0(日曜) から 6(土曜)):1

となります。

DateTimeクラス で 曜日 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・D 曜日。3文字のテキスト形式。(Mon~Sun):Mon
・l 曜日。フルスペル形式。(Sunday~Saturday):Monday
・w 曜日。数値。(0(日曜) から 6(土曜)):1

となります。

現在の 時 取得

date() で 時 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・H 24時間単位。先頭ゼロあり。(00~23):13
・h 12時間単位。先頭ゼロあり。(01~12):01

となります。

DateTimeクラス で 時 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・H 24時間単位。先頭ゼロあり。(00~23):13
・h 12時間単位。先頭ゼロあり。(01~12):01

となります。

現在の 分 取得

date() で 分 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・i 先頭ゼロあり(00~59)。:44

となります。

DateTimeクラス で 分 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・i 先頭ゼロあり(00~59)。:44

となります。

現在の 秒 取得

date() で 秒 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・s 先頭ゼロあり(00~59)。:02

となります。

DateTimeクラス で 秒 取得

実行日時 2019-05-27 13:44:02 月曜日 の場合

結果は

・s 先頭ゼロあり(00~59)。:02

となります。

サンプルコード

– サンプル Click Here ! –

date()

実行結果 [2019/05/27 13:44:02 現在の場合]
本日の日付 書式:YYYY-MM-DD 年4桁 月先頭に0付く 日先頭に0付く
 ・2019-05-27

本日の日付 書式:YY-M-D 年下2桁 月先頭に0なし 日先頭に0なし
 ・19-5-27

本日の年
 ・Y 年。4 桁の数字。(1999 や 2019):2019
 ・y 年。2 桁の数字。(99 や 19):19

本日の月
 ・F 月。フルスペルの文字。(January~December):May
 ・m 月。数字。先頭にゼロをつける。(01~12):05
 ・M 月。3 文字形式(Jan~Dec):May
 ・n 月。数字。先頭にゼロをつけない。(1~12):5
 ・t 指定した月の日数。(28~31):31

本日の日
 ・d 日。二桁の数字(先頭にゼロがつく場合も)(01~31):27
 ・j 日。先頭にゼロをつけない。(1~31):27

本日の曜日
 ・D 曜日。3文字のテキスト形式。(Mon~Sun):Mon
 ・l 曜日。フルスペル形式。(Sunday~Saturday):Monday
 ・w 曜日。数値。(0(日曜) から 6(土曜)):1

現在の時
 ・H 24時間単位。先頭ゼロあり。(00~23):13
 ・h 12時間単位。先頭ゼロあり。(01~12):01

現在の分
 ・i 先頭ゼロあり(00~59)。:44

現在の秒
 ・s 先頭ゼロあり(00~59)。:02

DataTimeクラス

実行結果 [2019/05/27 13:44:02 現在の場合]
本日の日付 書式:YYYY-MM-DD 年4桁 月先頭に0付く 日先頭に0付く
 ・2019-05-27

本日の日付 書式:YY-M-D 年下2桁 月先頭に0なし 日先頭に0なし
 ・19-5-27

本日の年
 ・Y 年。4 桁の数字。(1999 や 2019):2019
 ・y 年。2 桁の数字。(99 や 19):19

本日の月
 ・F 月。フルスペルの文字。(January~December):May
 ・m 月。数字。先頭にゼロをつける。(01~12):05
 ・M 月。3 文字形式(Jan~Dec):May
 ・n 月。数字。先頭にゼロをつけない。(1~12):5
 ・t 指定した月の日数。(28~31):31

本日の日
 ・d 日。二桁の数字(先頭にゼロがつく場合も)(01~31):27
 ・j 日。先頭にゼロをつけない。(1~31):27

本日の曜日
 ・D 曜日。3文字のテキスト形式。(Mon~Sun):Mon
 ・l 曜日。フルスペル形式。(Sunday~Saturday):Monday
 ・w 曜日。数値。(0(日曜) から 6(土曜)):1

現在の時
 ・H 24時間単位。先頭ゼロあり。(00~23):13
 ・h 12時間単位。先頭ゼロあり。(01~12):01

現在の分
 ・i 先頭ゼロあり(00~59)。:44

現在の秒
 ・s 先頭ゼロあり(00~59)。: 02

– サンプル Click Here ! –


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

日付

投稿日:2017年6月14日
最終更新日:2019年06月25日

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

menu-page

この記事へのコメント

トラックバックurl

https://wepicks.net/phpsample-date-today/trackback/

page top