在 EasyAdminBundle 中根据语言设置日期和日期时间列
Setting date and datetime columns dependent from language in EasyAdminBundle
我正在使用不同语言(英语和德语)的 EasyAdminBundle。但我现在遇到了问题,我想格式化日期和日期时间列。
例如,我想要英语格式 'd/m/Y H:i:s' 和德语格式 'd.m.Y H:i:s'。但是我在 symfony (EasyAdminBundle) 文档和互联网搜索中都没有找到解决方案。
你能帮帮我吗?
注意:我发现可以使用 "format" 参数设置日期格式(示例:- { 属性: 'password', label: 'Password', format : 'd/m/Y H:i:s' }), 但在我的例子中,格式应该根据用户设置的语言来设置。
我在 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>
如果语言环境发生变化,则会生成另一种日期格式。
我正在使用不同语言(英语和德语)的 EasyAdminBundle。但我现在遇到了问题,我想格式化日期和日期时间列。
例如,我想要英语格式 'd/m/Y H:i:s' 和德语格式 'd.m.Y H:i:s'。但是我在 symfony (EasyAdminBundle) 文档和互联网搜索中都没有找到解决方案。
你能帮帮我吗?
注意:我发现可以使用 "format" 参数设置日期格式(示例:- { 属性: 'password', label: 'Password', format : 'd/m/Y H:i:s' }), 但在我的例子中,格式应该根据用户设置的语言来设置。
我在 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>
如果语言环境发生变化,则会生成另一种日期格式。