0

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

例如,我想在英语和德语中使用格式“d/m/YH:i:s”和“dmY H:i:s”。但是我在 symfony (EasyAdminBundle) 文档和互联网搜索中都没有找到解决方案。

你能帮助我吗?

注意:我发现可以使用“format”参数设置日期格式(例如:- { property: 'password', label: 'Password', format: 'd/m/YH:i:s' }),但在我的情况下,格式应该取决于用户设置的语言。

4

1 回答 1

1

我在 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>

如果更改了区域设置,则会生成另一种日期格式。

于 2019-06-23T15:20:42.357 回答