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