2012-09-18 14 views
6

यह अजीब बात है। अगर मैं {{ j }} का उपयोग करता हूं, तो मुझे सभी 12 नंबर मिलते हैं, लेकिन ट्विग डेट फ़िल्टर जोड़कर बारह बार "जन" को बाहर निकाला जाता है।ट्विग: वर्ष के प्रत्येक महीने के लिए

मैं साल के सभी महीनों को कैसे प्रतिबिंबित करूं? क्या मेरे पास एक सरणी बना है?

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

उत्तर

18

ऐसा इसलिए है क्योंकि टिग जनवरी 1 9 70 से कई सेकंड के रूप में व्यवहार करता है (इसलिए यह हमेशा जनवरी है)।

टहनी प्रलेखन से:

तारीख फिल्टर तार स्वीकार करता DATETIME, उदाहरणों, या DateInterval उदाहरणों (यह एक प्रारूप द्वारा समर्थित strtotime समारोह में होना चाहिए)।

यह काम करना चाहिए:

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

समाधान साइप्रायन द्वारा दिए गए मुझे निम्न त्रुटि

समारोह "तिथि" मौजूद नहीं है

तो मैं बदल throwed कोड

{% for j in 1..12 %} 
    <option>{{ j |date('2012-' ~ j ~ '-01') |date('M') }}</option> 
{% endfor %} 

और यह मेरे लिए काम किया .... धन्यवाद साइप्रियन

संबंधित मुद्दे