【Laravel/PHP】タイムスタンプ(秒)を日付形式に変換

タイムスタンプとは

タイムスタンプとは、10桁(または13桁)の数字で秒を表しています。

bonoponz.hatenablog.com

日付に変換(date関数)

PHPのdate関数を使います。

date(フォーマット, タイムスタンプ)

引数のタイムスタンプに数字以外が使用された場合は FALSE が返されエラーが発生します。

戻り値はstring型です。

フォーマット 内容 備考
Y 4桁の年 例:2021
y 2桁の年 例:21
m ゼロ詰めの月。01~12 -
n ゼロなしの月。1~12 monthですがn
d ゼロ詰めの日。01~31 -
j ゼロなしの日。1~31 dayですがj
H 時。24時間表記(0〜23) -
g 時。12時間表記(1〜12) -
i -
s -
a AM/PM -

使用例

フォーマット 出力
Y/m/d 2020/09/27
y/n/j 20/9/9
H:i:s 17:16:18
g:i a 5:16 pm

Laravelで使ってみる

$timestamp = 1599613200;

return view('index',[
  'timestamp' => $timestamp,
]);
<p>タイムスタンプ:{{ $timestamp }}</p>
<p>date関数:{{ date('Y/m/d', $timestamp) }}</p>
<p>date関数:{{ date('Y年n月j日', $timestamp) }}</p>

f:id:bonoponz:20200928191546p:plain

今回blade側で変換していますが、Controller側で変換しても問題ありません。しかし、どちらで変換するかはプロジェクトの中で統一するようにしましょう。

参考URL

PHP: date - Manual

更新日時の整形(備忘録) - Laravel学習帳