![compareTo() पद्धतीचा वापर करून Java मध्ये दोन तारखांची तुलना कशी करावी](https://i.ytimg.com/vi/J8NuJAYD_S0/hqdefault.jpg)
सामग्री
- पाऊल टाकण्यासाठी
- 4 पैकी 1 पद्धत: "CompTTTo" कमांड वापरणे
- 4 पैकी 2 पद्धत: "नंतर आणि आधी" समान, सारख्या पद्धती वापरणे
- पद्धत 3 पैकी 4: दिनदर्शिका वर्ग वापरणे
- 4 पैकी 4 पद्धत: "गेटटाइम" पद्धत वापरणे
जावामध्ये तारखांची तुलना करण्याचे बरेच मार्ग आहेत. अंतर्गतरित्या, तारीख वेळेत (दीर्घ) बिंदू म्हणून दर्शविली जाते - 1 जानेवारी, 1970 पासून पास झालेल्या मिलिसेकंदांची संख्या. जावामध्ये, तारीख ही तारीख ऑब्जेक्ट असते, ज्याचा अर्थ असा आहे की त्यात तारखांची तुलना करण्यासाठी अनेक पद्धती आहेत. दोन तारखांची तुलना करण्याची कोणतीही पद्धत मुळात दोन्ही तारखांच्या गेलेल्या वेळेची तुलना करेल.
पाऊल टाकण्यासाठी
4 पैकी 1 पद्धत: "CompTTTo" कमांड वापरणे
कॉम्पॅक्ट टू वापरा. तारीख अंमलबजावणी तुलना> आणि म्हणून दोन तारखांची तुलना तुलना पद्धतीने एकमेकांशी थेट तुलना केली जाऊ शकते. तारखांनी त्याच क्षणी वेळेत सूचित केल्यास, पद्धत शून्य परत येईल. तुलना केली जाणारी तारीख तारखेच्या युक्तिवादाच्या आधीची असेल तर नकारात्मक मूल्य दिले जाईल. जर तारखेची तारीख तारखेच्या वितर्कापेक्षा नंतरची तारीख असेल तर सकारात्मक मूल्य परत येईल. तारखा समान असल्यास शून्य परत येईल.
तारीख ऑब्जेक्ट्स तयार करा. आपण त्यांची तुलना करणे सुरू करण्यापूर्वी आपल्याला प्रत्येक तारीख ऑब्जेक्ट तयार करावे लागेल. हे करण्याचा एक मार्ग म्हणजे सिंपलडेटफॉर्मेट क्लास लागू करणे. हे आपल्याला तारीख ऑब्जेक्टमध्ये तारखा सहजपणे प्रविष्ट करू देते.
सिंपलडेटफॉर्मेट एसडीएफ = नवीन सिंपलडेटफॉर्मेट ("yyyy-MM-dd"); // नवीन तारखेच्या वस्तूंमध्ये मूल्ये घोषित करण्यासाठी.तारखा दिनांक तयार करताना समान तारीख स्वरूप वापरा तारीख तारीख = एसडीएफ.पर्स ("1995-02-23"); // तारीख1 23 फेब्रुवारी 1995 आहे तारीख तारीख 2 = एसडीएफ.पर्से ("2001-10-31"); // तारीख 2 ऑक्टोबर 31, 2001 तारीख तारीख3 = एसडीएफ.पर्से ("1995-02-23") आहे; // तारीख 3 23 फेब्रुवारी 1995 आहे
तारीख वस्तूंची तुलना करा. खाली प्रत्येक केस दर्शवितो - पेक्षा कमी, समान आणि पेक्षा जास्त.
तारीख1.compareTo (तारीख 2); // दिनांक 1 तारीख 2, 0 तारखेपेक्षा कमी 2 पेअरटोटो (तारीख 1); // तारीख 2> तारीख 1, 0 तारीख1.compareTo (तारीख3) पेक्षा जास्त मिळवते; // तारीख1 = तारीख3, 0 परत करते
4 पैकी 2 पद्धत: "नंतर आणि आधी" समान, सारख्या पद्धती वापरणे
आधी आणि आधी समान वापरा. तारखांची तुलना बरोबरीने आणि आधी करण्यापूर्वी एकमेकांशी केली जाऊ शकते. दोन तारखा एकाच वेळी दर्शविल्यास, समान पद्धत "सत्य" परत येईल. उदाहरणे पूर्वी तयार केलेल्या तारखांचा वापर तुलना पद्धतीने करतात.
आधीची पद्धत वापरुन तुलना करा. खाली दिलेला कोड खरा आणि असत्य प्रकरण दर्शवितो. जर तारीख 1 तारीख 2 पूर्वीची असेल तर निकाल सत्य आहे. जर नसेल तर रिटर्न करण्यापूर्वी खोटे.
सिस्टम.आउट.प्रिंट (तारीख 1.पूर्वी (तारीख 2)); // प्रिंट ट्रू सिस्टम.आउट.प्रिंट (तारीख 2.before (तारीख 2)); // खोटे मुद्रण करा
याची तुलना नंतरच्या पद्धतीशी करा. खाली दिलेला कोड खरा आणि असत्य प्रकरण दर्शवितो. जर तारीख 2 ही तारीख 1 नंतरची असेल तर रिटर्न नंतर. नसल्यास, रिटर्न नंतर खोटे.
सिस्टम.आउटप्रिंट (तारीख 2. त्यानंतर (तारीख 1)); // प्रिंट ट्रू सिस्टम.आउट.प्रिंट (तारीख 1.ानंतर (तारीख 2)); // चुकीचे मुद्रण करा
बरोबरीची पद्धत वापरुन तुलना करा. खाली दिलेला कोड खरा आणि असत्य प्रकरण दर्शवितो. तारखा समान असल्यास, बरोबरी बरोबर मिळते. तसे नसल्यास, खोट्या रिटर्नच्या बरोबरी
सिस्टम.आउट.प्रिंट (तारीख1.equals (तारीख3)); // प्रिंट ट्रू सिस्टम.आउट.प्रिंट (तारीख1.equals (तारीख 2)); // चुकीचे मुद्रण करा
पद्धत 3 पैकी 4: दिनदर्शिका वर्ग वापरणे
कॅलेंडर वर्ग वापरा. दिनदर्शिकेच्या वर्गात तुलनात्मकता, बरोबरीचे आणि नंतरच्या पद्धती आधी देखील आहेत जे तारीख वर्गासाठी वर वर्णन केल्याप्रमाणे कार्य करतात. म्हणून जर तारीख डेटा कॅलेंडरमध्ये ठेवला असेल तर, फक्त दोन तारखांची तुलना करण्यासाठी "तारीख" काढण्याची आवश्यकता नाही.
कॅलेंडरचा उदाहरण तयार करा. कॅलेंडर पद्धती वापरण्यासाठी आपल्याला काही कॅलेंडर उदाहरणे आवश्यक आहेत. सुदैवाने, आपण तारीख उदाहरणाद्वारे व्युत्पन्न केलेला वेळ वापरू शकता.
कॅलेंडर कॅल 1 = कॅलेंडर.ेटइन्स्टन्स (); // घोषित कॅल 1 कॅलेंडर कॅल 2 = कॅलेंडर.ेटइन्स्टन्स (); // घोषित कॅल 2 कॅलेंडर कॅल 3 = कॅलेंडर.ेटइन्स्टन्स (); // कॅल 3 कॅल 1 घोषित करते .सेटटाइम (तारीख 1); // कॅल 1 कॅल 2.सेटटाइम (तारीख 2) वर तारीख लागू करते; कॅल 3.सेटटाइम (तारीख 3);
यापूर्वी कॅल 1 आणि कॅल 2 ची तुलना करा. खाली दिलेला कोड खरा परत करेल कारण कॅल 1 कॅल 2 पेक्षा पूर्वीचा आहे.
सिस्टम.आउट.प्रिंट (कॅल 1.पूर्व (कॅल 2)); // प्रिंट खरं
नंतर वापरुन कॅल 1 आणि कॅल 2 ची तुलना करा. खाली दिलेला कोड चुकीचा रिटर्न देतो, कारण कॅल 1 कॅल 2 पेक्षा पूर्वीचा आहे.
सिस्टम.आउट.प्रिंट (कॅल 1. नंतर (कॅल 2)); // खोटे मुद्रण करा
समान वापरून कॅल 1 आणि कॅल 2 ची तुलना करा. खाली दिलेला कोड खरा आणि खोट्या दोहोंचे उदाहरण दर्शवितो. अट कॅलेंडरच्या घटनांची तुलना केली जात आहे. खालील कोड पुढील ओळ वर "सत्य" आणि नंतर "खोटे" परत करेल.
सिस्टम.आउट.प्रिंटलन (कॅल 1.एक्विल्स (कॅल 3)); // प्रिंट खरे: कॅल 1 == कॅल 3 सिस्टम.आउट.प्रिंट (कॅल 1.एक्विल्स (कॅल 2)); // प्रिंट असत्यः कॅल 1! = कॅल 2
4 पैकी 4 पद्धत: "गेटटाइम" पद्धत वापरणे
गेटटाइम वापरा. दोन वेळ बिंदूंची थेट तुलना करणे देखील शक्य आहे, तरीही वरीलपैकी कोणत्याही पध्दतीमुळे अधिक वाचनीय परिणाम मिळण्याची शक्यता आहे आणि अशा प्रकारे ते प्राधान्य दिले जात आहे. ही दोन आदिम डेटा प्रकारांची तुलना आहे, म्हणून "", ">" आणि "==" केले जाऊ शकते.
"लाँग" टाइम ऑब्जेक्ट्स तयार करा. तारखांची तुलना करण्यापूर्वी आपण पूर्वी तयार केलेल्या तारीख ऑब्जेक्ट्सच्या डेटामधून लांब पूर्णांक तयार करणे आवश्यक आहे. सुदैवाने, गेटटाइम () पद्धत आपल्यासाठी बहुतेक काम करेल.
दीर्घ वेळ 1 = गेटटाइम (तारीख 1); // तारीख 1 ची प्राइमेटिव्ह टाइम 1 ला घोषित करते लांब टाईम 2 = गेटटाइम (तारीख 2); // तारीख 2 ची आदिम वेळ घोषित करते
"पेक्षा कमी" समीकरण वापरा. या दोन पूर्णांक मूल्यांची तुलना करण्यासाठी "" पेक्षा कमी "चिन्ह वापरा. टाईम 1 टाइम 2 पेक्षा कमी असल्याने, प्रथम संदेश स्क्रीनवर मुद्रित केला जावा. बाकीचे विधान योग्य वाक्यरचनासाठी समाविष्ट केले आहे.
if (time1 time2) {System.out.println ("तारीख 1 तारीख 2 पेक्षा पूर्वीची आहे"); // मुद्रण कारण टाईम 1 टाईम 2} अन्यथा {सिस्टम.आउट.प्रिंटलन ("तारीख 1 नंतर तारखे 2 च्या तुलनेत किंवा त्यासमान आहे"); }
तुलना "एक" पेक्षा मोठे करा. या दोन पूर्णांकांची तुलना करण्यासाठी "पेक्षा मोठे" चिन्ह (>) वापरा. टाईम 1 टाईम 2 पेक्षा जास्त असल्याने पहिला संदेश स्क्रीनवर छापला जातो. अन्य विधान योग्य वाक्यरचनासाठी समाविष्ट केले आहे.
if (time2> time1) {System.out.println ("तारीख 2 नंतर तारीख 1 येते"); // मुद्रण कारण टाईम 2> टाइम 1} अन्य {सिस्टम.आउट.प्रिंटलन ("तारीख 2 तारीख 1 पेक्षा पूर्वीची किंवा समान आहे"); }
"बरोबरीची" तुलना करा. या दोन पूर्णांकांची तुलना करण्यासाठी चिन्ह (==) वापरा. टाईम 1 वेळेच्या बरोबरीने असल्याने पहिला संदेश छापला जावा. जर प्रोग्रॅम दुसर्या स्टेटमेन्टवर आला तर याचा अर्थ असा आहे की वेळा एकसारखे नसतात.
if (time1 == time2) {System.out.println ("तारखा समान आहेत"); } अन्य {सिस्टम.आउट.प्रिंटलन ("तारखा समान नाहीत"); // मुद्रण कारण वेळ 1! = टाइम 2 2