如何在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') }}

Answers:


16

尝试使用此 -

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

但是,我认为您将获得解决方案

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

其中item.contentfield--node--field-publication-date.html.twig中包含日期字符串。


2
format_date应该是函数,引用Drupal
Kevin


1
谢谢。第一个选项对我有用{{item.content.field_publication_date | date(“ M”)}}
里卡多·卡斯塔尼达

2
如果是日期字段,为什么字段格式设置不够?另外,如果是时间戳记,format_date是Drupal树枝过滤器,则可以将自定义日期格式传递给:drupal.org/docs/8/theming/twig/…–
Kevin

1
@kevin我假装使用显示套件,并通过令牌显示不同div中的日期。但是自定义日期对我不起作用。
里卡多·卡斯塔内达

14

首先,my_custom_date_format在drupal admin的配置部分中创建自定义日期格式。

其次,使用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
第二个代码示例对我不起作用,因为内容数组(content.field_date.value)上的“值”为null。我怀疑它是否显示基于该字段使用的显示格式。我不得不使用node.field_date.value|date('U')
乔治

@George是正确的,.value关键是平时只适用于从实体领域,如nodeuserparagraph,而不是内作出阵列(content)。我编辑了第二个示例以使用node变量
Hudri

2

\Drupal\datetime\Plugin\Field\FieldType\DateTimeItem有一个值和日期属性。该value是UTC和date计算。使用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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.