カテゴリ: Symfony 更新日: 2025/11/14

Twigで日付や数値を自由にフォーマット!初心者向けSymfonyテンプレート講座

Twigで日付や数値をフォーマットする方法
Twigで日付や数値をフォーマットする方法

先生と生徒の会話形式で理解しよう

生徒

「Twigで日付や金額を表示するとき、もっと見やすく整える方法ってありますか?」

先生

「もちろんです!Twigではdateフィルターやnumber_formatフィルターを使って、日付や数値を自由にフォーマットできますよ。」

生徒

「フィルターって何ですか?どうやって使うんですか?」

先生

「フィルターは、表示したいデータを見やすく変換する魔法のようなものです。では、実際に日付と数値のフォーマット方法を見てみましょう!」

1. Twigで日付をフォーマットする基本

1. Twigで日付をフォーマットする基本
1. Twigで日付をフォーマットする基本

Symfonyでは、Twigを使って日付や日時を簡単にフォーマット(書式整形)できます。たとえば、「2025-09-12」という日付を「2025年9月12日」のように表示したいときに使います。

そのときに使うのが、dateフィルターです。フィルターとは、変数の後ろにパイプ(|)を付けて変換するTwigの構文です。

2. 日付を「年月日」形式で表示する例

2. 日付を「年月日」形式で表示する例
2. 日付を「年月日」形式で表示する例

たとえば、post.publishedAtという日付を「2025年09月12日」と表示したい場合は、次のように書きます。


{{ post.publishedAt|date('Y年m月d日') }}

ここでのYは「西暦4桁」、mは「月(2桁)」、dは「日(2桁)」を意味します。

実行結果は以下のようになります。


2025年09月12日

3. 時刻も一緒に表示するには?

3. 時刻も一緒に表示するには?
3. 時刻も一緒に表示するには?

日付だけでなく、時間も一緒に表示したい場合は、次のようにします。


{{ post.publishedAt|date('Y年m月d日 H:i') }}

Hは「時(24時間表記)」、iは「分(2桁)」です。


2025年09月12日 14:30

これで投稿された日時を正確に、かつ日本語らしく表示できます。

4. Twigで数値をカンマ区切りに整える方法

4. Twigで数値をカンマ区切りに整える方法
4. Twigで数値をカンマ区切りに整える方法

続いて、数値のフォーマットです。Twigではnumber_formatというフィルターを使うと、3桁ごとのカンマ小数点以下の桁数を指定できます。

たとえば、商品の金額がprice = 1000000だったとします。このままだと見づらいですが、次のように表示すると読みやすくなります。


{{ price|number_format }}

1,000,000

5. 小数点以下を含めて整える場合

5. 小数点以下を含めて整える場合
5. 小数点以下を含めて整える場合

小数を扱うときは、number_formatに引数を追加できます。

書き方は次のようになります。


{{ value|number_format(2, '.', ',') }}

これは、「小数点2桁」「小数点は.」「千の区切りは,」という指定です。


12,345.68

日本語表記で円マークを付けるなら、次のように書くと自然です。


{{ price|number_format(0, '.', ',') }} 円

100,000 円

6. 数値をパーセントで表示する方法

6. 数値をパーセントで表示する方法
6. 数値をパーセントで表示する方法

割合などを表示したいとき、Twigでパーセント表記を加える方法もあります。たとえば、rate = 0.256 であれば、次のように表示できます。


{{ (rate * 100)|number_format(1) }}%

25.6%

変数を100倍して、1桁の小数でフォーマットしたあと、%を付けています。

7. Twigで表示を美しく整えるコツ

7. Twigで表示を美しく整えるコツ
7. Twigで表示を美しく整えるコツ

表示される日付や数値が見やすいと、Webアプリ全体の印象も大きく変わります。たとえば以下のような工夫ができます。

  • 日付には日本語の「年・月・日」を付ける
  • 金額は必ずカンマで区切り、円マークをつける
  • 割合は小数点を丸めて、%記号を表示

SymfonyのTwigテンプレートは、こうした調整が非常に簡単にできるのが魅力です。

関連記事:
カテゴリの一覧へ
新着記事
New1
Laravel
Laravelの認証状態をチェックする方法を完全解説!authとAuth::check()を初心者向けにやさしく説明
New2
CodeIgniter
CodeIgniterのコントローラクラスの作り方を完全ガイド!初心者でもわかる基礎から実践まで
New3
Symfony
Symfonyのフォームラベルを多言語対応!初心者でもわかる翻訳設定ガイド
New4
Laravel
Laravelでユーザー登録機能を作る方法!初心者向けにバリデーションとリダイレクトをやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方
No.2
Java&Spring記事人気No2
Laravel
Laravelのビューとは?Bladeテンプレートの基本を解説
No.3
Java&Spring記事人気No3
Laravel
Laravelでセッションを扱う方法!保存方法と利用例を解説
No.4
Java&Spring記事人気No4
Laravel
Laravelのルート一覧を確認する方法!初心者でもわかるphp artisan route:listの使い方
No.5
Java&Spring記事人気No5
Laravel
Laravelでルーティングを設定する方法!web.phpと基本ルートの書き方を初心者向けに徹底解説
No.6
Java&Spring記事人気No6
Laravel
LaravelでルートをBladeテンプレートに記述する方法(route関数)
No.7
Java&Spring記事人気No7
Laravel
Laravelのルートキャッシュ機能を活用してパフォーマンス改善!初心者でもわかる完全ガイド
No.8
Java&Spring記事人気No8
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)