我正在使用不同语言(英语和德语)的EasyAdminBundle。但是我现在遇到了要格式化日期和日期时间列的问题。
例如,我想使用英语和德语“ d.m.Y H:i:s”的格式“ d / m / Y H:i:s”。但是我既没有在symfony(EasyAdminBundle)文档中也没有在Internet搜索中找到解决方案。
你能帮我吗?
注意:我发现可以使用“格式”参数设置日期格式(例如:-{属性:“密码”,标签:“密码”,格式:“ d / m / YH:i:s” }),但就我而言,应根据用户设置的语言来设置格式。
答案 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>
如果更改了语言环境,则会生成另一种日期格式。