【问题标题】:Setting date and datetime columns dependent from language in EasyAdminBundle根据 EasyAdminBundle 中的语言设置日期和日期时间列
【发布时间】:2019-06-16 20:23:46
【问题描述】:

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

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

你能帮帮我吗?

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

【问题讨论】:

标签: php symfony symfony2-easyadmin easyadmin


【解决方案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>

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

【讨论】:

    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    相关资源
    最近更新 更多