2021/12/19
今回は PHP の備忘録です。
Laravel の Eloquent モデルはテーブル作成時に自動で created_at と updated_at (datetime型) を作成・更新してくれます。
なので、更新日時の表示はこのカラムを利用することが多いのですが、通常そのまま使うことはしません。
PHP側である程度整形して表示する必要があります。
以下のような記述が一般的です。
コード
$updated_at = '2018-01-01 00:00:00'; // DB からupdated_at(更新日)カラムを取得
echo date('Y/m/d', strtotime($updated_at));
【 出力結果 】
2018/01/01
もしくは
$updated_at = '2018-01-01 00:00:00'; // DB からupdated_at(更新日)カラムを取得
echo date('Y年n月j日', strtotime($updated_at));
【 出力結果 】
2018年1月1日
解説
1.データベースにある updated_at カラムの値をUNIXタイムスタンプに変換(strtotime関数)
2.date関数の第二引数に入れる ※第一引数はフォーマット
date関数の構文
date(フォーマット)
date(フォーマット, タイムスタンプ)
- date関数は引数を1つ(or2つ)持てる
- 第1引数:フォーマット(string)
- 第2引数:タイムスタンプ(int)
- 引数1つの時:「現在の時刻」を「指定したフォーマット」で出力
- 引数2つの時:「第2引数のタイムスタンプ」を「指定したフォーマット」で出力
- 戻り値はstring
date関数のフォーマット
【 年 】
フォーマット | 内容 |
---|---|
Y | 4桁の年。例:2014 |
y | 2桁の年。例:14 |
【 月 】
フォーマット | 内容 |
---|---|
m | ゼロ詰めの月。01~12 |
n | ゼロなしの月。1~12 |
【 日 】
フォーマット | 内容 |
---|---|
d | ゼロ詰めの日。01~31 |
j | ゼロなしの日。1~31 |
以上、メモでした。
PHP おススメ教材(by Udemy)
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。