2013-10-27 52 views

回答

4

首先,我不得不啓用國際樹枝延伸範圍默認包含在Symfony2的框架(默認不啓用

通過在config.yml添加此啓用它(例如SRC /項目/ TestBundle /資源/配置/):

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 

如果這沒有automaticaly工作,那麼你需要強制通過這樣的瀏覽器使用喜歡的語言(在你的控制器)

$this->getRequest()->setLocale($this->getRequest()->getPreferredLanguage()); 

這將使用有效日期格式取決於瀏覽器的訪問者設置(例如值爲en_GB或en_US的Accept-Language標題)

您可以通過在localizeddate中添加第三個參數(例如「de-DE」)來強制使用某些語言環境。爲了得到當前的區域使用{{app.request.locale}}

記下樹枝文檔是一點點過時所以它能夠更好地利用我做什麼上面

+0

效果很好,但「短」日期格式將顯示日期,如dd/mm/yy或mm/dd/yy。你知道是否有方法顯示dd/mm/yyyy或mm/dd/yyyy(全年)格式的日期,具體取決於語言環境嗎? –

+0

我的猜測是調查php IntlDateFormatter類http://php.net/manual/en/class.intldateformatter.php –

+0

這就是我確實,但我找不到任何方式只是使用yyyy而不是yy任何地區... 無論如何再次感謝您的幫助! –

相關問題