如何在symfony2 Twig中正确使用日期语言环境,以便:
for GB browser I display format 27/10/2013
for US browser I display format 10/27/2013
答案 0 :(得分:4)
首先,我必须启用Intl twig扩展,默认情况下包含在symfony2框架中(默认情况下未启用)
通过在config.yml中添加它来启用它(例如src / Project / TestBundle / Resources / config /):
services:
twig.extension.intl:
class: Twig_Extensions_Extension_Intl
tags:
- { name: twig.extension }
然后你这样使用:
{{ 'now' | localizeddate('short', 'none') }}
// outputs dd/mm/yyyy or mm/dd/yyyy depending on where browser is coming from
如果这不能自动运行,那么您需要强制在浏览器中使用首选语言(在您的控制器中)
$this->getRequest()->setLocale($this->getRequest()->getPreferredLanguage());
这将使用有效的日期格式,具体取决于浏览器的访问者设置(如值为en_GB或en_US的Accept-Language标头)
您可以通过在localizeddate中添加第三个参数来强制使用某些区域设置(例如“de-DE”)。要获取当前区域设置,请使用{{app.request.locale}}
请注意,枝条文档有点过时,所以最好使用我上面做的