Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 2 setlocale(LC#u ALL,';de#u de';)_Php_Symfony_Twig_Setlocale - Fatal编程技术网

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