[解決済み] Twig テンプレートで DateTime オブジェクトをレンダリングする方法
2022-04-18 15:06:38
質問
私のエンティティのフィールドの1つは、"datetime"変数です。
このフィールドをブラウザで表示するために文字列に変換するにはどうすればよいですか?
以下はコード・スニペットです。
{% for game in games %}
...
<td> {{game.gameTeamIdOne.teamName}} </td>
<td> {{game.gameTeamIdTwo.teamName}} </td>
<td> {{game.gameDate}}</td>
</tr>
{% endfor %}
以下は、私のエンティティクラスの変数です。
/**
* @var date $gameDate
*
* @ORM\Column(name="GAME_DATE", type="datetime", nullable=true)
*/
private $gameDate;
そして、私が受け取っているエラーメッセージは以下の通りです。
テンプレートのレンダリング中に例外が発生しました("Catchable Fatal Error: Object of class DateTime could not be converted to string in ...\appcachedevtwig9bad58fd3bb1517632badf1fdc7fa4a8.php line 33") in "BeerBundle:Games:gameTable.html.twig" at line 10.
どのように解決するのですか?
を使用することができますが
{{ game.gameDate|date('Y-m-d') }}
のアプローチでは、このバージョンはユーザーのロケールを尊重しないことに留意してください。これは、ある国籍のユーザーだけが使用するサイトでは問題ないはずです。国際的なユーザは、対局の日付をまったく別の方法で表示する必要があります。
\DateTime
クラスを追加し、さらに
__toString()
メソッドでロケールをチェックし、それに応じて動作します。
編集 :
コメントで @Nic さんからご指摘いただいたように
TwigのIntl拡張機能
を使用すると
localizeddate
フィルターが利用でき、ユーザーのロケールでの日付が表示されます。この方法によって、私が以前考えた
\DateTime
.
関連
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み】文字列をdatetimeに変換する
-
[解決済み】MySQLのDatetimeカラムにデフォルト値を設定する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
[解決済み】In_arrayが動作しない。
-
[解決済み】MySQLのカラム数が1行目の値数と一致しない【非公開
-
[解決済み】phpのシンタックスエラー、予期しないT_IFエラーを修正する方法は?[クローズド]。