मुझे एक प्रारंभिक तिथि और समाप्ति तिथि के साथ एक इकाई मिली है।ट्विग तिथि अंतर
क्या टवीग का उपयोग करके उनके बीच समय में अंतर प्राप्त करना संभव है?
मुझे एक प्रारंभिक तिथि और समाप्ति तिथि के साथ एक इकाई मिली है।ट्विग तिथि अंतर
क्या टवीग का उपयोग करके उनके बीच समय में अंतर प्राप्त करना संभव है?
ऐसा करने के लिए कोई अंतर्निहित कार्य नहीं है, लेकिन आप आसानी से इसे स्वयं कर सकते हैं, extending twig आसान है!
quick'n'easy रास्ता टहनी के सरल समारोह वर्ग के साथ यह करने के लिए है:
$function = new Twig_SimpleFunction('date_difference', function ($start, $end) {
// ... calculate difference and return it
});
// assuming $twig is an instance of Twig_Environment
$twig->addFunction($function);
पुन: प्रयोज्य तरह से एक टहनी विस्तार (एक ही लिंक पर प्रलेखित) तैयार करना है। यह अभी भी आसान है।
PHP 5.3 के बाद से एक एक्सटेंशन लिखने के बिना एक और विकल्प है।
यह उदाहरण बहुवचन दिन/दिन
calc करने के लिए कैसे दिखाने{# endDate and startDate are strings or DateTime objects #}
{% set difference = date(endDate).diff(date(startDate)) %}
{% set leftDays = difference.days %}
{% if leftDays == 1 %}
1 day
{% else %}
{{ leftDays }} days
{% endif %}
स्पष्टीकरण:
पीएचपी 5.3 DateTime
वस्तु diff()
तरीका है जिसके endDate
और beginDate
टहनी के बीच परिणाम अंतर के साथ एक DateInterval
ऑब्जेक्ट प्रदान किया है
ट्विग date
फ़ंक्शन हमेशालौटाता हैवस्तु तो हम diff
विधि कॉल
अंत में हम DateInterval
ऑब्जेक्ट के गुणों का उपयोग करने या टहनी date
फिल्टर के साथ यह फ़ॉर्मेट कर सकते हैं कर सकते हैं।
नोट: वहाँ चादर endDate
या startDate
date
समारोह के साथ की कोई जरूरत नहीं है, तो पहले से ही एक चर DateTime
वस्तु है।
नोट 2: DateTime
का उपयोग DateTimeInterface
के पर्याय के रूप में किया जाता है।
यह भी ध्यान दें कि सेंसियो लैब्स से मौजूदा Date extension है जो टाइम_डिफ फ़िल्टर प्रदान करता है।
तो फिर तुम इसे इस तरह उपयोग कर सकते हैं: {{ entity.ending_date|time_diff(entity.starting_date) }}
यह एक सपने की तरह काम करता है, फिर भी यदि दिनांक के बीच का अंतर एक महीने से अधिक होने जा रहा है, .D के बजाय उपयोग .days, केवल .d दिन का हिस्सा लौटाता है, यानी यदि अंतर 1 महीने, 1 दिन है, तो डी 1 होगा, लेकिन दिन 32 होगा (31 दिन का दिन मानते हुए)। '{% सेट leftDays = difference.days%}' –
जन्मदिन {{date()। Diff (दिनांक (item.birth)) प्राप्त करने के लिए। Y}} – dikirill
लेकिन दोनों की आरंभ तिथि और समाप्ति तिथि दोनों की स्थिति होगी एक दिन में। आप कैसे निर्धारित करते हैं कि यह एक दिन शेष है (+1), या एक दिन से अधिक (-1) ??? – Pathros