यदि मैं उस पंक्ति से जुड़ी तारीख 30 दिन से कम पुरानी है, तो मैं तालिका में एक पंक्ति को ध्वजांकित करने के लिए टहन कर रहा हूं।यदि दिनांक X दिनों के भीतर है तो तुलना करने के लिए कैसे करें?
टहनी के दस्तावेज़ कहा गया है कि दो तारीख वस्तुओं की तुलना करने के लिए, आप पहली तारीख को वस्तु कनवर्ट करते हैं, और फिर एक तुलना इस तरह से करना है:
{% if date(yourDate) < date(-'30days') %} ... {% endif %}
हालांकि, यह कैसे करने के लिए निर्दिष्ट नहीं करता तुलना के बाईं तरफ के दिनांक प्रारूप को पास करें, मैं समझता हूं कि ट्विग का दिनांक फ़ंक्शन PHP की तारीख के लिए एक प्रकार का रैपर है।
PHP में मैं आमतौर पर कहेंगे:
$myDate = \DateTime::createFromFormat("m/d/Y", $myDate);
लेकिन टहनी में जाहिरा तौर पर वहाँ है ताकि इसे किसी अन्य स्वरूप में परिवर्तित करने के लिए मूल तारीख के प्रारूप निर्दिष्ट करने के लिए कोई रास्ता नहीं है, या कम से कम यह दस्तावेज में नहीं है ।
{% if date(d.LastDate) > date('-30days') %}...{% endif %}
{% if d.LastDate | format("Y-m-d") > date('-30days') %}...{% endif %}
{% if date("m/d/Y", d.LastEmailSentDate) > date('-30days') %}...{% endif %}
उन की स्थिति और उनके विविधताओं Symfony2 में निम्न अपवाद वापसी:
An exception has been thrown during the rendering of a template
("DateTimeZone::__construct(): Unknown or bad timezone (---)")
यह मैं क्या कोशिश की है हैमेरा नियंत्रक प्रारूप में दिनांक लौटा रहा है: m/d/Y
और यदि वह तिथि 30 दिन से कम पुरानी है तो मैं उस पंक्ति को ध्वजांकित करना चाहता हूं।
आप अपनी इकाई में 'getIsDateLessThan31DaysOld()' नामक एक फ़ंक्शन जोड़ सकते हैं, और इसे गलत के बारे में सच कर सकते हैं। फिर इस फ़ंक्शन को Twig में कॉल करें: '{% यदि d.isDateLessThan31DaysOld%} ... {% endif%}'। ट्विग कोड की तुलना में PHP कोड लिखना आसान होना चाहिए। –
यह टेम्पलेट्स से संबंधित नहीं होना चाहिए। उचित मॉडल के साथ अपने मॉडल [ओं] प्रदान करें। – moonwave99