日付・時刻

date()関数

第1引数「日時フォーマット」,第2引数「UNIXタイムスタンプ(整数型の値)」

echo date('Y年n月j日H時i分s秒');

2023年10月28日14時06分09秒

日時のフォーマット date(),DateTimeクラスと同じ

日時のフォーマット文字 意味
Y 年(4桁表記) 2015、2022など
y 年(2桁表記) 15、22など
m 月(先頭に0をつける) 01~12
n 月(先頭に0をつけない) 1~12
d 日(先頭に0をつける) 01~31
j 日(先頭に0をつけない) 1~31
H 24時間単位の時間(先頭に0をつける) 00~23
G 24時間単位の時間(先頭に0をつけない) 0~23
h 12時間単位の時間(先頭に0をつける) 01~12
g 12時間単位の時間(先頭に0をつけない) 1~12
i 分(先頭に0をつける) 00~59
s 秒(先頭に0をつける) 00~59

UNIXタイムスタンプ

1970年1月1日0時0分0秒からの経過秒数のことです。

strtotime()関数

strtotime(日時, 基準となるUNIXタイムスタンプ);

第1引数の「日時」には文字列型の値(例:'now'、'+1 day'など)、第2引数の「基準となるUNIXタイムスタンプ」には整数型の値(例:1652662122)を渡します。第2引数はオプションなので省略可能です。省略した場合は現在を基準とした第1引数の「日時」のUNIXタイムスタンプが戻り値として返されます。

echo strtotime('+1 week');

16532795250

strtotime()関数における日時の指定方法

strtotime()関数における日時の指定方法 意味
now 現在の日時
today 今日の日付
yesterday 前日
tomorrow 翌日
19 March 2015 指定日付
2015-03-19 12:15:30 指定日時
+n(-n)seconds n秒後(前)
+n(-n) min n分後 (前)
+n(-n) hours n時間後(前)
+n(-n) day n日後 (前)
+n(-n) week n週後(前)
+n(-n) month nか月後(前)
+n(-n) year n年後(前)
next Monday 翌週の指定曜日
last Monday 前週の指定曜日

date()関数とstrtotime()関数

現在を基準として3年前の日時を出力

echo date('Y/m/d H:i:s', strtotime('-3 year'));

2023/10/28 14:34:19

DateTimeクラス

// 現在の日時のインスタンスを作成する
$now = new DateTime();

// 指定した日付のインスタンスを作成する
$date = new DateTime('2015-03-19');

// 指定した日時のインスタンスを作成する
$date_time = new DateTime('2015-03-19 12:15:30');

formatメソッド

diffメソッド

modifyメソッド