LaravelのBladeテンプレートで日付や数値をフォーマットする方法を初心者向けに解説!
生徒
「Bladeテンプレートで表示される日付や数字の見た目を変えることってできますか?」
先生
「はい、できますよ。LaravelのBladeでは、日付や数値をフォーマットするための方法が用意されています。」
生徒
「難しそうですけど、どうやって書けばいいんですか?」
先生
「それでは、基本的な使い方を一緒に見ていきましょう!」
1. LaravelのBladeテンプレートとは?
Laravel(ララベル)のBlade(ブレード)テンプレートは、Laravelに標準搭載されているテンプレートエンジンで、HTMLの中にPHPの処理をわかりやすく組み込める仕組みです。通常のPHPと違い、Blade特有のシンプルな書き方ができるため、初心者の方でも画面表示の仕組みを直感的に理解できます。
Bladeでは、{{ }} を使って変数を表示したり、@if や @foreach のような命令を使って処理を記述します。これらの記法は読みやすさと書きやすさを両立しており、画面作りの作業をスムーズにしてくれます。
たとえば、以下のように名前を表示するだけの簡単な例でも、Bladeを使うととても自然に記述できます:
{{-- ユーザー名の表示例 --}}
<p>こんにちは、{{ $user->name }}さん!</p>
このように、Bladeは「PHPとHTMLをもっと使いやすくするための道具」であり、Laravelを学ぶ上でまず知っておきたい重要なポイントになります。
2. 日付を見やすくフォーマットしよう(format関数)
Laravelでは、日付をフォーマットするためにCarbon(カーボン)ライブラリが利用されます。Carbonは「日時の扱いをわかりやすくするための便利ツール」のような存在で、初心者の方でも自然に読みやすい日付へ変換できます。
たとえば、データベースから取得した日付が「2025-07-16」のような形式の場合、そのままでは画面表示に適していませんよね。Bladeテンプレートでは、次のように書くだけで簡単に「2025年7月16日」という日本語表記に変更できます。
{{-- ユーザー登録日を見やすい形に表示 --}}
<p>登録日:{{ $user->created_at->format('Y年n月j日') }}</p>
created_at はユーザー登録日時などによく使われる値で、Carbon の機能を使うことで柔軟にフォーマットできます。format() 関数では、次のような書式指定が利用できます:
Y→ 西暦4桁(例:2025)n→ 月(0なし:1〜12)j→ 日(0なし:1〜31)
さらに、画面上でよく使う「○月○日(曜日)」のような形式にも簡単に変換できるため、カレンダー表示やブログの投稿日などにも幅広く活用できます。日付の表示が整うだけで、画面全体の見やすさがぐっと向上します。
3. よく使う日付フォーマット例
Bladeテンプレートでは、日付を用途に合わせてさまざまな形に整形できます。フォーマットの指定はとてもシンプルで、覚えるほどに画面作りがスムーズになります。ここでは、実務でもよく使われる表示例を、初心者にもわかりやすい形で紹介します。
{{-- 2025/07/16 のように表示 --}}
{{ $post->published_at->format('Y/m/d') }}
{{-- 2025-07-16 15:30:00 のように表示(時刻つき) --}}
{{ $post->published_at->format('Y-m-d H:i:s') }}
{{-- 「7月16日(水)」のように表示 --}}
{{ $post->published_at->format('n月j日(D)') }}
特にブログやお知らせ一覧では、年月日のみ、年月日+時刻、曜日つきなど、使い分けが多くなります。曜日を表示するDは英語略語(Mon、Tueなど)ですが、アプリの設定や追加の処理を行えば日本語表示にも対応できます。
また、画面上の「読みやすさ」を意識してフォーマットを選ぶと、ユーザーにとって理解しやすいデザインになります。日付の見せ方ひとつでも、サイト全体の印象が大きく変わるため、ぜひ状況に応じて使い分けてみてください。
4. 数値をフォーマットする(number_format関数)
Bladeテンプレートでは、金額や数量のような数値も見やすく整えることができます。PHPのnumber_format関数を使えば、3桁ごとにカンマを入れることができます。
たとえば、商品価格「12000」を「12,000円」のように表示したい場合は次のように書きます。
{{ number_format($item->price) }}円
number_format()関数は、次のように小数点や桁数の設定もできます。
{{-- 小数点2桁まで表示 --}}
{{ number_format(1234.5678, 2) }} {{-- 出力例: 1,234.57 --}}
5. 日付や数値をBladeテンプレートで使う場面とは?
Bladeテンプレートでは、ブログ記事の投稿日時、ユーザー登録日、商品の金額など、さまざまな場面で日付や数値を表示する必要があります。
たとえば、会員管理画面で「登録日:2025年7月16日」と表示したい場合や、商品一覧画面で「価格:12,000円」と見せたいときに、フォーマットを使うととても見やすくなります。
6. Blade内でのPHP関数使用について
Bladeテンプレート内では、{{ }}の中でPHPの関数を直接使うことができます。これはLaravelのBladeの大きな特徴であり、初心者でも簡単にHTMLとPHPを組み合わせて書けるようになります。
たとえば、以下のように書くことで、表示の中にPHPの処理を自然に組み込めます:
{{ number_format($total_price) }}円
{{ $user->created_at->format('Y年m月d日') }}
7. 文字列としての出力とエスケープについて
Bladeで{{ }}を使うと、HTMLに対して自動でエスケープ処理(危ないコードが実行されないように変換される処理)が行われます。
これはセキュリティ上とても重要な機能ですが、HTMLとしてそのまま出力したい場合は{!! !!}を使います。ただし、安全な内容であることを確認してから使いましょう。
{!! $formatted_html !!}
8. 日付と数値の使い分けをマスターしよう
LaravelのBladeテンプレートでは、日付や数値を簡単にフォーマットする方法があります。複雑なPHPコードを書かずに、シンプルな記述でわかりやすく表示ができるようになるので、初心者の方でも安心して扱えます。
「@」を使ったBladeの記述と、format()やnumber_format()のような関数を組み合わせることで、Laravelのテンプレートがさらに便利になります。
まとめ
Bladeテンプレートで日付や数値を扱う重要性
LaravelのBladeテンプレートで日付や数値をきれいにフォーマットできるようになると、アプリケーションの見やすさや使いやすさが大きく向上します。 とくに、ユーザー登録日、記事の投稿日、商品価格、売上データなどは多くの画面で必ず表示される情報であり、見た目が整っているだけでアプリ全体の印象が良くなります。 フォーマットの仕組みを理解することで、ただデータを表示するだけでなく、「伝わりやすく見せる」画面作りができるようになります。
日付フォーマットの理解を深めよう
日付のフォーマットでは、Carbonライブラリを使うことでさまざまな形に変換できます。 「Y年n月j日」「Y/m/d」「n月j日(D)」のように、表示形式を自由に変えられるのが大きな魅力です。 実際の画面では、ユーザーにとって読みやすい日付フォーマットを選ぶことがとても重要です。 たとえば、お知らせやブログ記事の一覧ページでは「2025/07/16」のように短く、詳細ページでは「2025年7月16日(水)」のように丁寧に書くと親切です。
以下は、よく使う日付フォーマットのまとめです。
{{-- 例:2025年7月16日のように和風表記にする --}}
{{ $user->created_at->format('Y年n月j日') }}
{{-- 例:日付と時間をまとめて表示する --}}
{{ $post->published_at->format('Y-m-d H:i') }}
数値フォーマットで画面の印象が大きく変わる
金額や数量の表示では、number_format関数がとても便利です。 「12000」を「12,000円」のように変換するだけで読みやすさが格段に違います。 ECサイトや管理画面など、数字を扱う場面では必須のスキルと言えるでしょう。
{{-- 金額をカンマ区切りにする --}}
{{ number_format($item->price) }}円
{{-- 小数点を含む数値のフォーマット --}}
{{ number_format(1234.5678, 2) }} {{-- 1,234.57 --}}
これらの関数を使いこなすことで、Laravelのテンプレートはより実用的になり、ユーザーにとって見やすい画面作りができるようになります。 初心者の方でも、Bladeのシンプルな記述を理解すれば直感的に日付や数値を扱えるため、まずはよく使うフォーマットを手元のメモなどにまとめておくと便利です。
Blade内でのPHP関数利用のポイント
Bladeの大きな強みは、{{ }}の中で直接PHP関数が使えることです。
複雑な処理はコントローラやモデル側に任せて、ビューでは「どう見せるか」に集中できる構造はLaravelならではの利点です。
フォーマット系の処理はBlade内で完結するケースが多いため、直感的な操作性が開発のスピードにもつながっていきます。
<p>登録日:{{ $user->created_at->format('Y年m月d日') }}</p>
<p>合計金額:{{ number_format($total_price) }}円</p>
画面はユーザーが最も長い時間触れる部分なので、こうした細かな配慮がアプリケーション全体の品質を左右します。 見やすく整えられた画面は、使いやすさにも直結します。
先生と生徒の振り返り会話
生徒
「Bladeで日付や数値を変える方法が分かったので、画面がぐっと見やすくなりそうです!」
先生
「その通りです。フォーマットを意識するだけで、アプリの印象は大きく変わりますよ。特にユーザーがよく見る部分は丁寧に整えておきましょう。」
生徒
「日付ごとに表示の仕方を変えたり、金額をそろえたりするのが簡単にできるのは便利ですね!」
先生
「そうですね。Bladeでは、直感的な書き方で整形できるので、どんな画面にも応用できます。これからLaravelでビューを作るときは、ぜひ活用してみてください。」