Twigでカスタム日付形式を印刷する方法は?


14

Twigでカスタム日付形式を印刷するにはどうすればよいですか?最初に、私はとfield.html.twig呼ばれるフィールドのを編集しようとしfield_publication_dateています。そのファイルで、この変数{{ item.content }}が出力されるの を見つけますJun, 12/06/2016 - 12:29

これは私が試したものです: {{ item.content.field_publication_date|format_date('M') }}

回答:


16

これを使ってみてください -

{{ item.content.field_publication_date|date("M") }}

しかし、私はあなたがあなたの解決策を手に入れると思います

{{ item.content|date("M") }}

field--node--field-publication-date.html.twigitem.content内の日付文字列が含まれている場所。


2
format_dateDrupalの日付形式を参照する関数である必要があります
Kevin


1
ありがとうございました。| {日付(「M」)} {} item.content.field_publication_date私のために働いた最初のオプション
リカルド・カスタネダ

2
日付フィールドの場合、フィールドフォーマッタの設定が十分でないのはなぜですか?また、タイムスタンプの場合、format_dateはDrupal twigフィルターであり、カスタム日付形式を次の形式で渡すことができます。drupal.org
Kevin

1
@kevin私は表示スイートを使用するふりをして、トークンによって日付を異なるdivで表示しました。しかし、どういうわけか、カスタム日付は私にとってはうまくいきませんでした。
RicardoCastañeda2017年

14

まず、my_custom_date_formatdrupal管理者の構成セクションでカスタム日付形式を作成します。

次に、次のようにformat_dateTwigフィルターを使用します。

{{ node.created.value|format_date('my_custom_date_format') }}

最初に、日付をUNIXタイムスタンプに変換する必要がある場合があります。これは次のようになります。

{{ node.my_date_field.value|date('U')|format_date('my_custom_date_format') }}

1
2番目のコード例は、コンテンツ配列(content.field_date.value)の「値」がnullだったため機能しませんでした。私はそれがそのフィールドに使用されている表示フォーマッターに基づいて表示されるかどうかを疑っています。node.field_date.value|date('U')代わりに使用しなければなりませんでした。
ジョージ

@Georgeは正しいです。.valueキーは通常nodeuserまたはのようなエンティティのフィールドでのみ使用できますが、paragraphレンダー配列(content)内では使用できません。node変数を使用するように2番目の例を編集しました
Hudri

2

\Drupal\datetime\Plugin\Field\FieldType\DateTimeItem値と日付のプロパティがあります。valueUTCであるとdate計算されます。タイムゾーンに対処する必要がないように日付プロパティを使用します。作成した形式またはカスタム形式を使用できます。

{{ node.field_publication_date.date|format_date('custom', 'F j, Y') }}

Drupalの日付形式:

{{ node.field_publication_date.date|format_date('my_custom_date_format') }}


これが私のために働いたものです:{{node.field_event_date.date | date( 'U')| format_date( 'custom'、 'F j、Y')}}
arnoldbird

こんにちは@arnoldbird、何を説明してくれますかdate('U')
Aman Devrath

1

この質問は特定の日付フィールドの値のフォーマットに特に言及していることは知っていますが、ノードが作成された日付をフォーマットする必要がありました。あなたがそれを必要とする場合、これは私にとってうまくいきます(いくつかの異なるオプションを試した後):

{{ node.getCreatedTime|format_date('medium') }}

これは私がこのソリューションを入手した場所です:https : //www.drupal.org/forum/support/theme-development/2016-02-17/how-to-get-formatted-node-creation-date-in-d8 #comment-10865464


0

これでうまくいきました。twig独自のdate()フォーマット関数を使用した日付値:

{{ content.field_arrival_date.value | date("Y/m/d") }}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.