format_datetime
¶
这个 format_datetime
筛选器设置日期时间的格式:
1 2 | {# Aug 7, 2019, 11:39:12 PM #}
{{ '2019-08-07 23:39:12'|format_datetime() }}
|
可以调整日期部分和时间部分的输出:
1 2 3 4 5 6 7 8 | {# 23:39 #}
{{ '2019-08-07 23:39:12'|format_datetime('none', 'short', locale='fr') }}
{# 07/08/2019 #}
{{ '2019-08-07 23:39:12'|format_datetime('short', 'none', locale='fr') }}
{# mercredi 7 août 2019 23:39:12 UTC #}
{{ '2019-08-07 23:39:12'|format_datetime('full', 'full', locale='fr') }}
|
支持的值包括: none
, short
, medium
, long
和 full
.
为了获得更大的灵活性,您甚至可以定义自己的模式(请参见 ICU user guide 对于支持的模式)。
1 2 | {# 11 oclock PM, GMT #}
{{ '2019-08-07 23:39:12'|format_datetime(pattern="hh 'oclock' a, zzzz") }}
|
默认情况下,筛选器使用当前区域设置。可以显式传递:
1 2 | {# 7 août 2019 23:39:12 #}
{{ '2019-08-07 23:39:12'|format_datetime(locale='fr') }}
|
注解
这个 format_datetime
过滤器是 IntlExtension
默认情况下不安装。先安装:
1 | $ composer require twig/intl-extra
|
然后,在symfony项目上,安装 twig/extra-bundle
:
1 | $ composer require twig/extra-bundle
|
否则,请在Twig环境中显式添加扩展::
use Twig\Extra\Intl\IntlExtension;
$twig = new \Twig\Environment(...);
$twig->addExtension(new IntlExtension());
争论¶
locale
:区域设置dateFormat
:日期格式timeFormat
:时间格式pattern
:日期时间模式timezone
:日期时区calendar
:日历(默认为公历)