1. DateTimeFormatter वर्ग

विशेष DateTimeFormatterवर्गाने तारीख वेळ API मध्ये प्रवेश केला. प्रोग्रामरसाठी तारीख आणि वेळ त्यांना पाहिजे असलेल्या अचूक फॉरमॅटमध्ये रूपांतरित करणे शक्य तितके सोपे करणे हा त्याचा उद्देश आहे. आणि आम्हाला कळवण्यात आनंद होत आहे की Java चे निर्माते यशस्वी झाले.

ते वापरणे खूप सोपे आहे. प्रथम, आपण एक वर्ग तयार करणे आवश्यक आहे DateTimeFormatterआणि एका पॅटर्नमध्ये पास करणे आवश्यक आहे जे ते तारीख आणि वेळ कसे प्रदर्शित करेल हे निर्दिष्ट करते:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern);

dtfएक चल कुठे आहे DateTimeFormatter. वर्गाची एक स्थिर पद्धत आहे . आणि नमुना ही एक स्ट्रिंग आहे जी तारीख आणि वेळ प्रदर्शित करण्यासाठी वापरला जाणारा नमुना निर्दिष्ट करते.DateTimeFormatter.ofPattern()DateTimeFormatter

उदाहरणे

कोड कन्सोल आउटपुट
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MM-dd-yy");
String text = dtf.format( LocalDateTime.now() );
System.out.println(text);


02-22-19

वरील उदाहरणामध्ये, आम्ही पॅटर्नवर आधारित ऑब्जेक्ट ofPattern()तयार करण्यासाठी पद्धत वापरतो. DateTimeFormatterआणि पुढील ओळीत, आपण ऑब्जेक्टला स्ट्रिंगमध्ये format()रूपांतरित करण्यासाठी पद्धत वापरतो. LocalDateTimeतुम्हाला स्क्रीनवर निकाल दिसेल.

तुम्ही डेट टाइम API मधून जवळपास कोणतीही वस्तू या format()पद्धतीमध्ये पास करू शकता.

स्टॅटिक ofPattern()देखील खूप सोपे आहे: ते युक्तिवाद म्हणून नमुना घेते आणि DateTimeFormatterऑब्जेक्ट परत करते. सर्वात मनोरंजक भाग नमुना मध्ये आढळले आहे.


2. स्वरूपन नमुना

माहिती प्रदर्शित करताना नमुना म्हणून पास केलेली स्ट्रिंग नमुना म्हणून वापरली जाते. MM महिन्याच्या संख्येने, dd महिन्याच्या दिवसाने आणि yy वर्षाच्या संख्येने बदलला जातो. अक्षरांचे प्रकरण महत्त्वाचे आहे.

या वेळेच्या नमुन्यांची संपूर्ण सारणी अशी आहे:

पत्र अर्थ
y वर्ष
एम महिना
d दिवस
एच तास
मी मिनिटे
s सेकंद
एस सेकंदाचा हजारवां भाग
n नॅनोसेकंद.

लक्षात ठेवणे विशेषतः कठीण नाही.

पण उदाहरणातील पॅटर्नमध्ये MM, dd आणि yy ही अक्षरे पुनरावृत्ती का येतात? बरं, इथेच ते अधिक मनोरंजक होते.

सर्वसाधारण कल्पना

अक्षरांची संख्या मजकूराच्या लांबीवर परिणाम करते. जितकी जास्त अक्षरे असतील तितका मजकूर मोठा असेल.

जर H अक्षर एकदा निर्दिष्ट केले असेल तर 9 तास 9 म्हणून प्रदर्शित केले जातील, परंतु जर H अक्षर सलग दोनदा निर्दिष्ट केले असेल तर 9 तास 09 म्हणून प्रदर्शित केले जातील.

जर y अक्षर सलग 2 वेळा नमूद केले असेल, तर वर्ष 2 अंक वापरून लिहिले जाईल. जर ते सलग 4 वेळा झाले तर 4 अंक वापरले जातात.

जर M अक्षर सलग 2 वेळा निर्दिष्ट केले असेल तर महिन्याची संख्या लिहिली जाते. जर सलग 3 वेळा, तर महिन्याचे नाव (त्याची पहिली 3 अक्षरे) वापरली जाते. जर सलग 4 वेळा, तर महिन्याचे पूर्ण नाव वापरले जाते.

उदाहरण:

कोड कन्सोल आउटपुट
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM-dd-yyyy");
String text = dtf.format( LocalDateTime.now() );
System.out.println(text);


February-22-2019


3. नमुन्यांची संपूर्ण सारणी

पूर्ण सारणी खूप मोठी आणि अतिशय मनोरंजक आहे:

नमुना नमुन्यातील फरक उदाहरण वर्णन
y yy, yyyy १९; 2019 वर्ष
M/L M, MM, MMM, MMMM, MMMMM 1; ०१; जानेवारी; जानेवारी; जे महिना
d d, dd 9; 09 दिवस
एच एच, प.पू 2; 02 तास
मी मी, मिमी 3; 03 मिनिटे
s s, ss 5; 05 सेकंद
एस S, SS, SSS, ... 1; 12; 123 सेकंदाचा हजारवां भाग
n n १२३४५६७८९ नॅनोसेकंद
जी G, GGGG, GGGGG इ.स. अन्नो डोमिनी; अ; युग
Q/q q, qq, qqq, qqqq 3; 03; Q3; 3रा तिमाही तिमाहीत
w w 13 वर्षाचा आठवडा
3 महिन्याचा आठवडा
EEE, EEEE, EEEEE सोम; सोमवार; एम आठवड्याचा दिवस
e/c e, ee, eee, eeee, eeeee 1; ०१; सोम; सोमवार; एम आठवड्याचा दिवस
a a पीएम AM किंवा PM
h h 12 12-तास घड्याळ.
व्ही व्ही युरोप/हेलसिंकी वेळ क्षेत्र
z z zzzz ईईटी; पूर्व युरोपीय मानक वेळ वेळ क्षेत्र
OOOOO GMT+2; GMT+02:00 वेळ क्षेत्र

तसे, ही प्रत्यक्षात पूर्ण आवृत्ती नाही. आपण येथे सर्वात संपूर्ण आवृत्ती शोधू शकता .



4. पार्सिंग वेळ

DateTimeFormatterदिलेल्या पॅटर्ननुसार केवळ तारीख आणि वेळ स्ट्रिंगमध्ये रूपांतरित करण्याची क्षमता नाही तर उलट ऑपरेशन करण्यासाठी देखील वर्ग मनोरंजक आहे !

स्ट्रिंग पार्स करणे ही अर्थपूर्ण टोकन्समध्ये विभाजित करण्याची प्रक्रिया आहे.

ते कसे दिसते ते येथे आहे:

कोड कन्सोल आउटपुट
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM-dd-yyyy");
LocalDate date = LocalDate.parse("February-23-2019", dtf);
System.out.println(date);


February-23-2019

प्रथम, आम्ही एक DateTimeFormatterऑब्जेक्ट तयार करतो आणि पॅटर्न सेट करतो जो पार्सिंगसाठी वापरला जातो.

LocalDate.parse()मग आपण or LocalTime.parse()or मेथडला कॉल करतो LocalDateTime.parse()आणि ऑब्जेक्टसह पार्स करण्यासाठी स्ट्रिंगमध्ये पास करतो DateTimeFormatter, ज्यामध्ये पास केलेला मजकूर कसा पार्स करायचा आणि ते करण्यासाठी कोणता पॅटर्न वापरायचा हे समजते.

दुसरे उदाहरण: यावेळी आपण वेळेचे विश्लेषण करू.

कोड कन्सोल आउटपुट
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime time = LocalTime.parse("23:59:59", dtf);
System.out.println(time);


23:59:59