जावा तिथियों की तुलना करने के कई तरीके हैं। आंतरिक रूप से, एक तिथि को समय में एक (लंबे) बिंदु के रूप में दर्शाया जाता है - मिलीसेकंड की संख्या जो 1 जनवरी 1970 से बीत चुकी है। जावा में, दिनांक एक वस्तु है, जिसका अर्थ है कि इसमें तुलना के लिए कई तरीके शामिल हैं। दो तिथियों की तुलना करने की कोई भी विधि अनिवार्य रूप से तिथियों के समय की तुलना करेगी।
कदम
विधि 1 में से 4: तुलना का उपयोग करना
चरण 1. तुलना का उपयोग करें।
दिनांक लागू करता है तुलनीय और इसलिए दो तिथियों की तुलना सीधे तुलना विधि से की जा सकती है। यदि दिनांक समान समय के लिए हैं, तो विधि शून्य लौटाती है। यदि दिनांक की तुलना दिनांक तर्क से पहले की जाती है, तो शून्य से कम का मान लौटाया जाता है। यदि दिनांक की तुलना दिनांक तर्क के बाद की जाती है, तो शून्य से अधिक मान वापस किया जाता है। यदि तिथियाँ समान हैं, तो 0 का मान लौटाया जाता है।
चरण 2. दिनांक ऑब्जेक्ट बनाएं।
इससे पहले कि आप उनकी तुलना करना शुरू कर सकें, आपको प्रत्येक दिनांक वस्तु बनानी होगी। ऐसा करने का एक तरीका SimpleDateFormat वर्ग का उपयोग करना है। यह दिनांक वस्तुओं में दिनांक मानों की आसान प्रविष्टि की अनुमति देता है।
SimpleDateFormat sdf = नया SimpleDateFormat ("yyyy-MM-dd"); // नई दिनांक वस्तुओं में मान घोषित करने के लिए। दिनांक बनाते समय समान दिनांक प्रारूप का उपयोग करें दिनांक दिनांक 1 = sdf.parse ("1995-02-23"); // दिनांक १ फरवरी २३, १९९५ है दिनांक दिनांक २ = sdf.parse ("२००१-१०-३१"); // दिनांक २ अक्टूबर ३१, २००१ है दिनांक दिनांक ३ = sdf.parse ("१९९५-०२-२३"); // दिनांक ३ फरवरी २३, १९९५ है
चरण 3. दिनांक वस्तुओं की तुलना करें।
नीचे दिया गया कोड आपको प्रत्येक मामला दिखाएगा - इससे कम, बराबर और इससे बड़ा।
date1.compareTo(date2); // date1 < date2, 0 date2 से कम देता है। तुलना करने के लिए (date1); // date2 > date1, 0 date1 से अधिक देता है। तुलना करने के लिए (date3); // date1 = date3, इसलिए 0 को कंसोल पर प्रिंट करेगा
विधि 2 का 4: बराबर, बाद और पहले का उपयोग करना
चरण 1. बराबर, बाद और पहले का प्रयोग करें।
तिथियों की तुलना बराबर, बाद और पहले के तरीकों से की जा सकती है। यदि दो तिथियां एक ही समय बिंदु के लिए हैं, तो बराबर विधि सही हो जाएगी। उदाहरण तुलना विधि से पहले बनाई गई तिथियों का उपयोग करेंगे।
चरण 2. पहले की विधि का उपयोग करके तुलना करें।
नीचे दिया गया कोड एक सही और गलत मामला दिखाता है। यदि दिनांक 1 दिनांक 2 से पहले है, तो सही होने से पहले। यदि ऐसा नहीं है, तो झूठे रिटर्न से पहले।
System.out.print(date1.before(date2)); // सच सिस्टम प्रिंट करता है। // प्रिंट गलत
चरण 3. आफ्टर मेथड का उपयोग करके तुलना करें।
नीचे दिया गया कोड एक सही और गलत मामला दिखाता है। यदि दिनांक 2 दिनांक 1 के बाद है, तो सही होने के बाद। यदि ऐसा नहीं है, तो झूठी वापसी के बाद।
System.out.print(date2.after(date1));// सच प्रिंट करता है
चरण 4. बराबर विधि का उपयोग करके तुलना करें।
नीचे दिया गया कोड एक सही और गलत मामला दिखाता है। यदि तिथियाँ समान हैं, तो बराबर रिटर्न सही है। यदि वे नहीं हैं, तो बराबर रिटर्न गलत है।
System.out.print(date1.equals(date3));//prints true System.out.print(date1.equals(date2));//prints false
विधि 3 की 4: कैलेंडर कक्षा का उपयोग करना
चरण 1. कैलेंडर का प्रयोग करें।
कैलेंडर वर्ग में भी तुलना करने के लिए, बराबर, बाद में और पहले के तरीके हैं जो उसी तरह से काम करते हैं जैसे दिनांक वर्ग के लिए ऊपर वर्णित है। इसलिए यदि तारीख की जानकारी कैलेंडर में रखी जा रही है, तो केवल तुलना करने के लिए तारीख निकालने की जरूरत नहीं है।
चरण 2. कैलेंडर के उदाहरण बनाएँ।
कैलेंडर विधियों का उपयोग करने के लिए, आपको कुछ कैलेंडर उदाहरणों की आवश्यकता होगी। सौभाग्य से, आप पहले से बनाए गए दिनांक उदाहरणों से केवल समय ले सकते हैं।
कैलेंडर cal1 = Calendar.getInstance (); // cal1 कैलेंडर cal2 = Calendar.getInstance () घोषित करता है; // cal2 कैलेंडर cal3 = Calendar.getInstance () घोषित करता है; // cal3 cal1.setTime(date1) घोषित करता है; // cal1 cal2.setTime(date2) पर दिनांक लागू होता है; cal3.setTime (दिनांक ३);
चरण 3. पहले का उपयोग करके cal1 और cal2 की तुलना करें।
नीचे दिया गया कोड सही प्रिंट होना चाहिए क्योंकि cal1 cal2 से पहले है।
System.out.print(cal1.before(cal2)); // सच प्रिंट करेगा
चरण ४. बाद का उपयोग करके cal1 और cal2 की तुलना करें।
नीचे दिए गए कोड को झूठा प्रिंट करना चाहिए क्योंकि cal1 cal2 से पहले है।
System.out.print(cal1.after(cal2)); // प्रिंट गलत
चरण 5. बराबर का उपयोग करके cal1 और cal2 की तुलना करें।
नीचे दिया गया कोड एक सच्चे और झूठे मामले दोनों का एक उदाहरण दिखाएगा। स्थिति तुलना किए जा रहे कैलेंडर इंस्टेंस पर निर्भर करती है। कोड को अगली पंक्ति पर "सच," फिर "झूठा" प्रिंट करना चाहिए।
System.out.println(cal1.equals(cal3)); // प्रिंट सच: cal1 == cal3 System.out.print(cal1.equals(cal2)); // प्रिंट गलत: cal1 != cal2
विधि ४ का ४: गेटटाइम का उपयोग करना
चरण 1. गेटटाइम का उपयोग करें।
दो तिथियों के समय के बिंदु की सीधे तुलना करना भी संभव है, हालांकि पिछले दृष्टिकोणों में से कोई भी अधिक पठनीय और बेहतर होने की संभावना है। यह दो आदिम डेटा प्रकारों की तुलना होगी, इसलिए इसे "", और "==" के साथ किया जा सकता है।
चरण 2. लंबे समय की वस्तुएं बनाएं।
इससे पहले कि आप तिथियों की तुलना कर सकें, आपको पहले बनाए गए दिनांक ऑब्जेक्ट्स के डेटा के साथ लंबे पूर्णांक बनाने होंगे। सौभाग्य से, गेटटाइम () विधि आपके लिए अधिकांश काम करेगी।
लंबा समय 1 = गेटटाइम (दिनांक 1); // दिनांक 1 से आदिम समय 1 घोषित करता है लंबे समय 2 = गेटटाइम (दिनांक 2); // दिनांक 2 से आदिम समय 2 घोषित करता है
चरण 3. तुलना से कम करें।
इन दो पूर्णांक मानों की तुलना करने के लिए प्रतीक से कम (<) का प्रयोग करें। चूंकि समय 1 समय 2 से कम है, इसलिए पहला संदेश प्रिंट होना चाहिए। अन्य कथन उचित वाक्य रचना के लिए शामिल है।
if(time1 <time2){ System.out.println ("date1 date2 से पहले है"); // time1 से प्रिंट होगा <time2} और {System.out.println ("date1 date2 से पहले नहीं है"); }
चरण 4. तुलना से बड़ा करें।
इन दो पूर्णांक मानों की तुलना करने के लिए प्रतीक (>) से बड़ा का प्रयोग करें। चूंकि समय 1 समय 2 से बड़ा है, इसलिए पहला संदेश प्रिंट होना चाहिए। अन्य कथन उचित वाक्य रचना के लिए शामिल है।
अगर (समय २> समय १) {System.out.println ("दिनांक २ तारीख १ के बाद है"); // time2 के बाद से प्रिंट होगा> time1} और {System.out.println ("date2 date1 के बाद नहीं है"); }
चरण 5. एक समान तुलना करें।
समानता के लिए इन दो पूर्णांक मानों की तुलना करने के लिए समानता (==) की जांच के लिए प्रतीक का प्रयोग करें। चूँकि time1 time3 के बराबर है, पहला संदेश प्रिंट होना चाहिए। यदि प्रोग्राम अन्य कथन को प्राप्त करता है, तो इसका अर्थ है कि समय समान नहीं है।
if(time1 == time2){ System.out.println ("तारीख बराबर हैं"); } और { System.out.println ("तारीखें बराबर नहीं हैं"); // टाइम 1 से प्रिंट होगा! = टाइम 2}