如何用法语显示树枝日期

Pau*_*aul 6 symfony

在我的树枝视图中,我想显示一个日期:

{{ match.date|date("l d F - H:i") }}
Run Code Online (Sandbox Code Playgroud)

此日期以英语显示:

Wednesday 15 June - 15:30

我想用法语显示它...

setlocale(LC_TIME, "fr_FR");之前尝试添加调用视图,但日期仍以英文显示...

小智 6

您可以使用哈希(键值数组)并将其与您正在操作的日期对象进行匹配。

例如,要在单词中获取今天的星期几:

{% set trans_day_hash = { 
        "Monday": "Lundi", 
        "Tuesday": "Mardi", 
        "Wednesday": "Mercredi", 
        "Thursday": "Jeudi", 
        "Friday": "Vendredi", 
        "Saturday": "Samedi", 
        "Sunday": "Dimanche" 
    } 
%}
{{ trans_day_hash["now"|date('l')] }}
Run Code Online (Sandbox Code Playgroud)


ben*_*.IT 5

我使用format_datetime树枝过滤器locale参数pattern如下:

{{ service.date|format_datetime(locale='fr',pattern="EEEE dd MMMM YYYY") }}
Run Code Online (Sandbox Code Playgroud)

其输出例如:

vendredi 27 novembre 2020
lundi 02 novembre 2020
vendredi 30 octobre 2020
Run Code Online (Sandbox Code Playgroud)

请参阅此资源以了解日期模式。


小智 4

Twig 中的过滤date器不太适合本地化日期格式,因为它基于 PHP 的DateTime::format. 一种选择是使用Intl Extensionlocalizeddate提供的过滤器。

默认 Symfony 安装中不提供此扩展。您可以在官方 Twig 扩展存储库中找到它:

composer require twig/extensions
Run Code Online (Sandbox Code Playgroud)

然后,只需将此扩展声明为服务services.yml即可:

services:
    twig.extension.intl:
        class: Twig_Extensions_Extension_Intl
        tags:
            - { name: twig.extension }
Run Code Online (Sandbox Code Playgroud)

  • 这是文档的链接:http://twig-extensions.readthedocs.io/en/latest/intl.html (2认同)