周辺知識

更新日時の整形(備忘録)

今回は PHP の備忘録です。

Laravel の Eloquent モデルはテーブル作成時に自動で created_atupdated_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

以上、メモでした。

本庄マサノリ

仕事でLaravelを使っています。気づいたことや新しい発見など情報を発信していきます。メールはこちら

 

-周辺知識