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:日历(默认为公历)