使用 Symfony 2 将日期本地化为树枝

2022-08-31 00:10:52

要用树枝设置日期格式,通常使用如下方法:

{{ meeting.date|date("m/d/Y") }}

现在,我必须本地化此日期(美国 m/d/y,NL d/m/y)。在树枝上执行此操作的最佳做法是什么?我确实使用Symfony 2,解决方法是在控制器中进行转换,但我想在树枝中执行此操作。


答案 1

国际树枝延伸怎么样

在树枝模板中的用法:

{{ my_date | localizeddate('full', 'none', locale) }}

答案 2

我不想仅仅为了这些东西而安装整个扩展,并且需要自动做一些事情:也可以在Bundle/Twig/Extensions中编写一个helperclass(或扩展现有的帮助程序),例如:

public function foo(\Datetime $datetime, $lang = 'de_DE', $pattern = 'd. MMMM Y')
{
    $formatter = new \IntlDateFormatter($lang, \IntlDateFormatter::LONG, \IntlDateFormatter::LONG);
    $formatter->setPattern($pattern);
    return $formatter->format($datetime);
}

树枝模板:

{{ yourDateTimeObject|foo('en_US', 'd. MMMM Y') }}

其结果是 “12.2014 年 2 月“(或”12.2014 年 2 月“de_DE等)


推荐