phpで日付文字列の形式(フォーマット)を変換する場合のメモです。date関数を使用し変換します。
いつも忘れてしまうので。
データベースからdatetime型の値を取得した時に時間を表示せず年月日だけ表示したい場合などがあります。
下記の方法で指定の形式に日付・日時を変更できます。
【PHP】
$date = '2013-01-01 00:00:00'; echo date('Y/m/d', strtotime($date));
【出力結果】
2013/01/01
【PHP】
$date = '2013-01-01 00:00:00'; echo date('Y年n月j日', strtotime($date));
【出力結果】
2013年1月1日
strtotime()でUnixタイムスタンプを取得し、date()で日付のフォーマットを変更します。
■ date()関数のフォーマット
下記にdate()関数でよく使用するフォーマットをメモします。
※下記以外にもフォーマットはあります。
【年】
フォーマット | 内容 |
---|---|
Y | 4桁の年。例:2014 |
y | 2桁の年。例:14 |
L | 閏年。1:閏年 0:閏年ではない |
【月】
フォーマット | 内容 |
---|---|
m | ゼロ詰めの月。01~12 |
n | ゼロなしの月。1~12 |
F | フルスペルの月。例:January |
M | 3文字形式の月。例:Jan |
t | 月の日数。28~31 |
【日】
フォーマット | 内容 |
---|---|
d | ゼロ詰めの日。01~31 |
j | ゼロなしの日。1~31 |
z | 年間の通算日。0~365 |
【時】
フォーマット | 内容 |
---|---|
g | 12時間単位の時(ゼロなし)。1~12 |
G | 24時間単位の時(ゼロなし)。0~23 |
h | 12時間単位の時。01~12 |
H | 24時間単位の時。00~23 |
【分】
フォーマット | 内容 |
---|---|
i | 分。00~59 |
【秒】
フォーマット | 内容 |
---|---|
s | 秒。00~59 |
【午前・午後】
フォーマット | 内容 |
---|---|
a | 午前:am 午後:pm |
A | 午前:AM 午後:PM |
【曜日】
フォーマット | 内容 |
---|---|
D | 3文字形式の曜日。例:Mon |
l | フルスペルの曜日。例:Monday |
N | ISO-8601形式の曜日。1(月)~7(日) |
w | 曜日。0(日)~6(土) |