2009-05-22 17 views
8

क्या जॉडाटाइम में एक एपीआई विधि है यह देखने के लिए कि डेटटाइम [प्रारंभ, अंत] के भीतर है या नहीं, यानी सीमा शामिल है?जोडाटाइम में अंतराल के भीतर डेटटाइम?

केवल मुझे मिली चीज़ नई अंतराल (प्रारंभ, अंत)। कंटेनर (डेटटाइम) है, लेकिन यह दिनांक गलत होने पर यह गलत लगता है।

उत्तर

13

तरीका सबसे आसान एक नया अंतराल जो एक millisecond के लिए बढ़ा दी है, तो आप अक्सर ऐसा करने की जरूरत है पुराने एक है बनाने के लिए किया जाएगा:

Interval inclusiveInterval = interval.withEndMillis(interval.getEndMillis() + 1); 

वैकल्पिक रूप से बस का उपयोग

if (interval.contains(dateTime) || interval.getEnd().isEqual(dateTime)) 

(isEqual विधि कालक्रम और समय क्षेत्र को अनदेखा करता है।)

+0

हाँ, मैंने उत्तर देने से पहले बाद वाले व्यक्ति का उपयोग समाप्त कर दिया। वैसे भी धन्यवाद, मैंने यह नहीं देखा कि इक्वल्स इस तरह व्यवहार करता है। – egaga

+0

वैसे: क्या कोई तार्किक कारण है कि क्यों शामिल विधि दिनांक दिनांक को अंतराल में शामिल नहीं करती है जब यह समाप्ति दिनांक के बराबर होती है? यह मेरे लिए अजीब लगता है। – dajood

+2

@ ब्लूडी स्मारती: कंप्यूटर विज्ञान और गणित में अंतराल अक्सर "निचले बाध्य समावेशी, ऊपरी बाउंड अनन्य" तरीके से दिए जाते हैं - एक बात के लिए, इसका मतलब है कि यदि आपके पास अंतराल [ए, बी), [बी, सी), [ सी, डी) आदि जो आपको स्वाभाविक रूप से अंतराल को रोक देता है। –

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