1. DateTimeFormatter తరగతి

ప్రత్యేక DateTimeFormatterతరగతి తేదీ సమయ APIలోకి ప్రవేశించింది. ప్రోగ్రామర్లు తేదీ మరియు సమయాన్ని తమకు కావలసిన ఖచ్చితమైన ఆకృతిలోకి మార్చడాన్ని వీలైనంత సులభతరం చేయడం దీని ఉద్దేశ్యం. మరియు జావా సృష్టికర్తలు విజయం సాధించారని నివేదించడానికి మేము సంతోషిస్తున్నాము.

దీన్ని ఉపయోగించడం చాలా సులభం. ముందుగా, మీరు తరగతిని సృష్టించి 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 సంవత్సరం సంఖ్యతో భర్తీ చేయబడుతుంది. లేఖల కేసు ముఖ్యమైనది.

ఈ సమయ నమూనాల పూర్తి పట్టిక ఇది:

ఉత్తరం అర్థం
వై సంవత్సరం
ఎం నెల
డి రోజు
హెచ్ గంటలు
m నిమిషాలు
లు సెకన్లు
ఎస్ సెకనులో వెయ్యో వంతు
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. నమూనాల పూర్తి పట్టిక

పూర్తి పట్టిక చాలా పెద్దది మరియు చాలా ఆసక్తికరంగా ఉంది:

నమూనా నమూనా యొక్క వైవిధ్యాలు ఉదాహరణ వివరణ
వై yy, yyyy 19; 2019 సంవత్సరం
M/L M, MM, MMM, MMMM, MMMMM 1; 01; జనవరి; జనవరి; జె నెల
డి d, dd 9; 09 రోజు
హెచ్ H, HH 2; 02 గంటలు
m m, mm 3; 03 నిమిషాలు
లు s, ss 5; 05 సెకన్లు
ఎస్ S, SS, SSS, ... 1; 12; 123 సెకనులో వెయ్యో వంతు
n n 123456789 నానోసెకన్లు
జి G, GGGG, GGGGG AD; అన్నో డొమిని; A; యుగం
Q/q q, qq, qqq, qqqq 3; 03; Q3; 3వ త్రైమాసికం క్వార్టర్
w w 13 సంవత్సరంలో వారం
W W 3 నెలలో వారం
EEE, EEEE, EEEEE సోమ; సోమవారం; ఎం వారంలో రోజు
ఇ/సి ఇ, ఇఇఇఇఇఇఇఇఇఇఇఇఇఇఇఇఇఇఇఇ 1; 01; సోమ; సోమవారం; ఎం వారంలో రోజు
a a PM ఉదయం లేదా మధ్యాహ్నం
h h 12 12 గంటల గడియారం.
వి వి.వి యూరోప్/హెల్సింకి సమయమండలం
z z zzzz EET; తూర్పు యూరోపియన్ ప్రామాణిక సమయం సమయమండలం
ఓ ఓఓఓఓ 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()లేదా LocalTime.parse()లేదా 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