Twig:每年的每个月

Ada*_*ney 6 twig

这很奇怪.如果我使用{{ j }},我会得到所有12个数字,但添加Twig日期过滤器只是回响"Jan"12次.

我如何回应一年中的所有月份?我是否创建了一个数组?

<select>
{% for j in range(1, 12) %}
    <option>{{ j|date('M') }}</option>
{% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)

Cyp*_*ian 19

这是因为twig将j视为自1970年1月起的秒数(所以它总是1月份).

从twig文档:

日期筛选器接受字符串(它必须采用strtotime函数支持的格式),DateTime实例或DateInterval实例.

这应该工作:

{% for j in range(1, 12) %}
    <option>{{ date('2012-' ~ j ~ '-01') |date('M') }}</option>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)