这很奇怪。如果我使用{{ j }}
,我会得到所有12个数字,但添加Twig日期过滤器只会回显“Jan”12次。
我如何回应一年中的所有月份?我是否创建了一个数组?
<select>
{% for j in range(1, 12) %}
<option>{{ j|date('M') }}</option>
{% endfor %}
</select>
答案 0 :(得分:18)
这是因为twig将j视为1970年1月以来的秒数(所以它始终是1月)。
来自twig文档:
日期过滤器接受字符串(它必须采用支持的格式 strtotime函数),DateTime实例或DateInterval 实例
这应该有效:
{% for j in range(1, 12) %}
<option>{{ date('2012-' ~ j ~ '-01') |date('M') }}</option>
{% endfor %}
答案 1 :(得分:2)
Cyprian给出的解决方案给我带来了以下错误
“日期”功能不存在
所以我将代码更改为
{% for j in 1..12 %}
<option>{{ j |date('2012-' ~ j ~ '-01') |date('M') }}</option>
{% endfor %}
这对我有用....感谢塞浦路斯
答案 2 :(得分:0)
对我来说:
45fps
工作正常。