java - How do I calculate the number of years difference between 2 dates? -


मैं जावा में 2 कैलेंडर्स के बीच साल के अंतर की गणना कैसे करूं?

पहले आप को यह निर्धारित करने की आवश्यकता है कि दूसरे की तुलना में कौन सी पुरानी है फिर एक जबकि लूप जिसमें आप परीक्षण करते हैं यदि पुराने एक नया नहीं है, तो इसका उपयोग करें। साल जोड़ने के लिए एक के साथ एक ( 1 ) को आमंत्रित करें वर्ष की गणना करने के लिए एक काउंटर रखें।

किकऑफ़ उदाहरण:

  कैलेंडर myBirthDate = Calendar.getInstance (); myBirthDate.clear (); MyBirthDate.set (1 9 78, 3 - 1, 26); कैलेंडर अब = कैलेंडर.जिस्ट इन्स्टेंस (); कैलेंडर क्लोन = (कैलेंडर) myBirthDate.clone (); // अन्यथा परिवर्तन परिलक्षित होते हैं इंट साल = -1; जबकि (क्लोन। बाद (अब)) {clone.add (कैलेंडर.आईईईआर, 1); साल ++; } System.out.println (वर्षों); // 32  

उस ने कहा, जावा एसई में दिनांक और कैलेंडर एपीआई वास्तव में महाकाव्य असफलता हैं। आगामी जावा 8 के लिए योजना बनाने में एक नई तिथि एपीआई है, जो बहुत समान है। अब तक आप जोड-टाइम पर विचार करना चाह सकते हैं क्योंकि यह वास्तव में दिनांक / समय गणना / इस तरह के संशोधनों को आसान बनाता है। यहां जोडा-टाइम का उपयोग करने वाला एक उदाहरण है:

  दिनांकटाइम myBirthDate = नया दिनांकटाइम (1 9 78, 3, 26, 0, 0, 0, 0); दिनांक समय अब ​​= नया दिनांक समय (); पीरियड अवधि = नया पीरियड (माइबर्थडेट, अब); इंट साल = अवधि.गेट वर्ष (); Println (साल); // 32  

अधिक स्पष्ट और संक्षिप्त, है ना?


Comments