Php Symfony 2 setlocale(LC#u ALL,';de#u de';)
我想用德语显示一个日期Php Symfony 2 setlocale(LC#u ALL,';de#u de';),php,symfony,twig,setlocale,Php,Symfony,Twig,Setlocale,我想用德语显示一个日期 {{ event.beginnAt |date('l d.m.Y')}} 但输出为“2013年6月28日星期五” 我应该在哪里使用用德语显示日期的setlocale函数?以实现我使用的它公开了一些用intl格式化的细枝函数 例如: {{ date_time_object | format_datetime(null, 'fr', 'Europe/Paris', constant('IntlDateFormatter::LONG'), constant('IntlDat
{{ event.beginnAt |date('l d.m.Y')}}
但输出为“2013年6月28日星期五”
我应该在哪里使用用德语显示日期的setlocale函数?以实现我使用的它公开了一些用intl格式化的细枝函数 例如:
{{ date_time_object | format_datetime(null, 'fr', 'Europe/Paris',
constant('IntlDateFormatter::LONG'), constant('IntlDateFormatter::SHORT')) }}
将输出
'1 février 2011 19:55'
我使用了一种更简单的方法,因为我强制php执行上下文的本地属性,然后,用format_datetime替换了date函数。记住查看支持的模式,因为它们与strftime不同。您在SonatailBundle上有一个链接。为了实现这一点,我使用了它公开了一些用intl格式化的细枝函数 例如:
{{ date_time_object | format_datetime(null, 'fr', 'Europe/Paris',
constant('IntlDateFormatter::LONG'), constant('IntlDateFormatter::SHORT')) }}
将输出
'1 février 2011 19:55'
我使用了一种更简单的方法,因为我强制php执行上下文的本地属性,然后,用format_datetime替换了date函数。记住查看支持的模式,因为它们与strftime不同。您在SonatailBundle上有一个链接用于此目的。您需要启用(它需要在php中启用)a,然后您只需使用:
{{ event.beginAt | localizeddate('full', 'none', locale) }}
已编辑:
如果只想使用本地化的日期名称,可以创建自己的细枝扩展名:
src/Acme/Bundle/DemoBundle/Twig/DateExtension.php
然后在services.yml中注册它
src/Acme/Bundle/DemoBundle/Resources/config/services.yml
参数:
acme\u demo.date\u extension.class:acme\Bundle\DemoBundle\Twig\DateExtension
服务:
acme_demo.twig.date_扩展名:
类别:%acme\u演示。日期\u扩展。类别%
标签:
-{name:twig.extension}
在细枝模板中,您可以仅使用:
{event.beginAt | intl|u day}{{event.beginAt | date('d.m.Y')}
您需要启用(需要在php中启用)a,然后只需使用:
{{ event.beginAt | localizeddate('full', 'none', locale) }}
已编辑:
如果只想使用本地化的日期名称,可以创建自己的细枝扩展名:
src/Acme/Bundle/DemoBundle/Twig/DateExtension.php
然后在services.yml中注册它
src/Acme/Bundle/DemoBundle/Resources/config/services.yml
参数:
acme\u demo.date\u extension.class:acme\Bundle\DemoBundle\Twig\DateExtension
服务:
acme_demo.twig.date_扩展名:
类别:%acme\u演示。日期\u扩展。类别%
标签:
-{name:twig.extension}
在细枝模板中,您可以仅使用:
{event.beginAt | intl|u day}{{event.beginAt | date('d.m.Y')}
您可以使用setlocale()
和strftime()
,使用特定于Symfony的符号可能会增加开销。您可以使用setlocale()
和strftime(),使用特定于Symfony的东西可能会增加开销。您是否检查了您的parameters.yml?您是否检查了您的parameters.yml?可能重复了Thank u very mutch!但现在我有另一个问题。event.beginnAt | localizeddate('full','none','de')给出了Freitag,28。2013年6月。但我只想要Freitag,2013年6月28日模板文件中不存在筛选器“intl_day”。好的。我没有在PageExtension中注册yml。现在它工作了。但是我得到了另一个错误:“方法”beginAt“用于对象“Event\PageBundle\Entity\Event”这是打字错误–我已经编写了beginAt
,但是您使用beginnAt
非常感谢您!但是现在我有了另一个问题。Event.beginnAt | localizeddate('full',none',de'))给出了Freitag,28.Juni 2013。但我只想要Freitag,28.06.2013模板文件中不存在筛选器“intl_day”。好的。我没有在PageExtension中注册yml。现在它可以工作了。但我得到了另一个错误:“方法”beginAt“对象”Event\PageBundle\Entity\Event“它是打字错误–我已经编写了beginAt
,但您使用的是beginnAt