Java दिनांक और समय
आइये सबसे पहले उन मापदंडों को समझें जो एक तारीख.
इसमें मुख्य रूप से निम्नलिखित शामिल होंगे –
- RSI वर्ष (2 या 4 अंकों में)
- RSI माह (या तो 2 अंकों में, महीने के पहले 3 अक्षरों में या महीने के पूरे शब्द में)।
- RSI डेटा (यह महीने की वास्तविक तारीख होगी)
- RSI दिन (दी गई तारीख का दिन - जैसे रवि, सोम, मंगल, आदि)
कंप्यूटर सिस्टम के संबंध में, ऐसे बहुत से पैरामीटर हैं जिनका उपयोग किसी तिथि से जुड़ने के लिए किया जा सकता है। हम इस विषय के बाद के भागों में उनके बारे में देखेंगे।
दिनांक प्रदर्शित करें Java
अब आइये देखें कैसे Java हमें तारीख बताएं। सबसे पहले, हम देखेंगे कि वर्तमान तारीख कैसे प्राप्त करें-
Java java.util पैकेज के अंतर्गत Date क्लास प्रदान करता है, यह पैकेज दिनांक के साथ प्रयोग करने के लिए कई विधियां प्रदान करता है।
आप Date वर्ग के कन्स्ट्रक्टर को निम्न प्रकार से लागू करके Date ऑब्जेक्ट का उपयोग कर सकते हैं:
import java.util.Date; class Date_Ex1 { public static void main(String args[]) { // Instantiate a Date object by invoking its constructor Date objDate = new Date(); // Display the Date & Time using toString() System.out.println(objDate.toString()); } }
आउटपुट:
Wed Nov 29 06:36:22 UTC 2017
उपरोक्त उदाहरण में दिनांक डिफ़ॉल्ट प्रारूप में दिखाया गया है, यदि हम दिनांक और समय को किसी अन्य प्रारूप में दिखाना चाहते हैं, तो पहले दिनांक के स्वरूपण को समझें।
SimpleDateFormat: तिथियों को पार्स और प्रारूपित करें
आप सभी ने अपने किंडरगार्टन में वर्णमाला सीखी होगी...
आइये अब हम दिनांक प्रारूप की ABC सीखें।
पत्र | दिनांक या समय घटक | उदाहरण |
---|---|---|
G | युग निर्दिष्टक | AD |
y | साल | 2018 |
M | वर्ष में महीना | जुलाई या जुलाई या 07 |
w | वर्ष में सप्ताह | 27 |
W | सप्ताह दर सप्ताह महीना | 2 |
D | वर्ष में दिन | 189 |
d | महीने में दिन | 10 |
F | महीने में सप्ताह का दिन | 2 |
E | सप्ताह में दिन का नाम | मंगलवार या मंगल |
u | सप्ताह का दिन संख्या (1 = Monday, …, 7 = रविवार) | 1 |
a | पूर्वाह्न/अपराह्न मार्कर | PM |
H | दिन में घंटा (0-23) | 0 |
k | दिन में घंटा (1-24) | 24 |
K | सुबह/शाम में घंटे (0-11) | 0 |
h | सुबह/शाम में घंटे (1-12) | 12 |
m | मिनट प्रति घंटा | 30 |
s | मिनट में सेकंड | 55 |
S | मिलीसेकंड | 978 |
z | समय क्षेत्र | प्रशांत मानक समय; PST; GMT-08:00 |
Z | समय क्षेत्र | -0800 |
X | समय क्षेत्र | -08 या -0800 या -08:00 |
चिंता न करें, आपको इन सभी को याद रखने की आवश्यकता नहीं है, जब भी आपको किसी विशेष तिथि को प्रारूपित करने की आवश्यकता होगी, तो आप इनका संदर्भ ले सकते हैं।
SimpleDateFormat का उपयोग कैसे करें?
Java SimpleDateFormat नामक एक क्लास प्रदान करता है जो आपको अपनी आवश्यकताओं के अनुसार तिथियों को प्रारूपित और पार्स करने की अनुमति देता है।
आप प्रारूप निर्दिष्ट करने के लिए उपरोक्त वर्णों का उपयोग कर सकते हैं-
उदाहरण के लिए:
1) दिनांक प्रारूप आवश्यक: 2012.10.23 20:20:45 पीएसटी
निर्दिष्ट उपयुक्त दिनांक प्रारूप होगा- yyyy.MM.dd HH:mm:ss zzz
2) दिनांक प्रारूप आवश्यक:09:30:00 AM 23-May-2012
निर्दिष्ट उपयुक्त दिनांक प्रारूप होगा-hh:mm:ss a dd-MMM-yyyy
सुझाव: अक्षर कैपिटलाइज़ेशन के मामले में सावधान रहें। यदि आप M को m से ग़लती से लिखेंगे, तो आपको अवांछित परिणाम मिलेंगे!
आइये इसे एक कोड उदाहरण से सीखें।
import java.text.SimpleDateFormat; import java.util.Date; class TestDates_Format { public static void main(String args[]) { Date objDate = new Date(); // Current System Date and time is assigned to objDate System.out.println(objDate); String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date } }
आउटपुट:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
तिथियों की तुलना उदाहरण
तिथियों की तुलना करने की सबसे उपयोगी विधि है – CompareTo() विधि का उपयोग करना
आइये नीचे दिए गए कोड स्निपेट पर एक नज़र डालें-
import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date; class TestDates_Compare { public static void main(String args[]) throws ParseException { SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy"); Date dt_1 = objSDF.parse("20-08-1981"); Date dt_2 = objSDF.parse("12-10-2012"); System.out.println("Date1 : " + objSDF.format(dt_1)); System.out.println("Date2 : " + objSDF.format(dt_2)); if (dt_1.compareTo(dt_2) > 0) { System.out.println("Date 1 occurs after Date 2"); } // compareTo method returns the value greater than 0 if this Date is after the Date argument. else if (dt_1.compareTo(dt_2) < 0) { System.out.println("Date 1 occurs before Date 2"); } // compareTo method returns the value less than 0 if this Date is before the Date argument; else if (dt_1.compareTo(dt_2) == 0) { System.out.println("Both are same dates"); } // compareTo method returns the value 0 if the argument Date is equal to the second Date; else { System.out.println("You seem to be a time traveller !!"); } } }
आउटपुट:
Date1 : 20-08-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2