根据EasyAdminBundle中的语言设置日期和日期时间列

时间:2019-06-16 20:23:46

标签: php symfony symfony2-easyadmin easyadmin

我正在使用不同语言(英语和德语)的EasyAdminBundle。但是我现在遇到了要格式化日期和日期时间列的问题。

例如,我想使用英语和德语“ d.m.Y H:i:s”的格式“ d / m / Y H:i:s”。但是我既没有在symfony(EasyAdminBundle)文档中也没有在Internet搜索中找到解决方案。

你能帮我吗?

注意:我发现可以使用“格式”参数设置日期格式(例如:-{属性:“密码”,标签:“密码”,格式:“ d / m / YH:i:s” }),但就我而言,应根据用户设置的语言来设置格式。

1 个答案:

答案 0 :(得分:0)

在Symfony 4中,我使用EasyAdminBundle找到了更好的解决方案。

我在templates\bundles\EasyAdminBundle\default\field_datetime.html.twig中用以下代码覆盖:

{%- if(app.request.getLocale() == 'de') -%}
    {%- set valueTitle = value|date('d.m.Y H:i:s') -%}
    {%- set valueText = value|date('d.m.Y H:i:s')|replace({' ': ' '}) -%}
{%- else -%}
    {%- set valueTitle = value|date('m/d/Y H:i:s') -%}
    {%- set valueText = value|date('m/d/Y H:i:s')|replace({' ': ' '}) -%}
{%- endif -%}
<time datetime="{{ value|date('c') }}" title="{{ valueTitle }}">{{ valueText|raw }}</time>

如果更改了语言环境,则会生成另一种日期格式。