CodeGym /జావా కోర్సు /మాడ్యూల్ 1 /DateTime APIతో పని చేస్తున్నప్పుడు తెలుసుకోవలసిన ఉపయోగకరమ...

DateTime APIతో పని చేస్తున్నప్పుడు తెలుసుకోవలసిన ఉపయోగకరమైన సూక్ష్మ నైపుణ్యాలు

మాడ్యూల్ 1
స్థాయి , పాఠం
అందుబాటులో ఉంది

1. LocalDateTimeతరగతి

తరగతి మరియు తరగతుల LocalDateTimeసామర్థ్యాలను మిళితం చేస్తుంది : ఇది తేదీ మరియు సమయం రెండింటినీ నిల్వ చేస్తుంది. దాని వస్తువులు కూడా మార్పులేనివి, మరియు దాని పద్ధతులు మరియు తరగతుల మాదిరిగానే ఉంటాయి .LocalDateLocalTimeLocalDateLocalTime

ప్రస్తుత తేదీ మరియు సమయాన్ని పొందడం

మీరు ఇక్కడ ఊహించిన విధంగా ప్రతిదీ ఉంది: మేము now()పద్ధతిని ఉపయోగిస్తాము. ఉదాహరణ:

కోడ్ కన్సోల్ అవుట్‌పుట్
LocalDateTime time = LocalDateTime.now();
System.out.println("Now = " + time);

Now = 2019-02-22T09:49:19.275039200

స్క్రీన్‌పై ప్రదర్శించబడినప్పుడు, తేదీ మరియు సమయం అక్షరంతో వేరు చేయబడతాయి T.

నిర్దిష్ట తేదీ మరియు సమయాన్ని పొందడం

ఆశ్చర్యకరంగా, ప్రతిదీ LocalDateమరియు తరగతులకు సమానంగా ఉంటుంది - మేము ఈ పద్ధతిని LocalTimeఉపయోగిస్తాము :of()

... = LocalDateTime.of(year, month, day, hours, minutes, seconds);

మొదట, తరగతిలో ఉన్న అదే ఫార్మాట్లలో తేదీని పేర్కొనే పారామితులు ఉన్నాయి LocalDate. ఆపై తరగతిలో ఉన్న అదే ఫార్మాట్లలో సమయాన్ని పేర్కొనే పారామితులు ఉన్నాయి LocalTime. పద్ధతి యొక్క అన్ని వైవిధ్యాల జాబితా of()క్రింద ఇవ్వబడింది:

పద్ధతులు
of (int year, int month, int day, int hour, int minute)
of (int year, int month, int day, int hour, int minute, int second)
of (int year, int month, int day, int hour, int minute, int second, int nano)
of (int year, Month month, int day, int hour, int minute)
of (int year, Month month, int day, int hour, int minute, int second)
of (int year, Month month, int day, int hour, int minute, int second, int nano)
of (LocalDate date, LocalTime time)

మీరు తేదీని నేరుగా సెట్ చేయవచ్చు లేదా వస్తువుల ద్వారా పరోక్షంగా సెట్ LocalDateచేయవచ్చు LocalTime:

కోడ్
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime current = LocalDateTime.of(date, time);
System.out.println("Now = " + current);

LocalDateTime date = LocalDateTime.of(2019, Month.MAY, 15, 12, 15, 00);
System.out.println("Now = " + date);
కన్సోల్ అవుట్‌పుట్
Now = 2019-02-22T10:05:38.465675100
Now = 2019-05-15T12:15

తరగతి LocalDateTimeతేదీ మరియు/లేదా సమయం యొక్క అంశాలను పొందడానికి పద్ధతులను కలిగి ఉంది. LocalDateవారు ఖచ్చితంగా మరియు తరగతుల పద్ధతులను ప్రతిబింబిస్తారు LocalTime. మేము వాటిని ఇక్కడ పునరావృతం చేయము.



2. Instantతరగతి

జావా సృష్టికర్తలు పాత పాఠశాల మార్గాల గురించి కూడా మరచిపోలేదు.

తేదీ సమయ API కంప్యూటర్లలో జరిగే ప్రక్రియల కోసం ఉద్దేశించిన సమయంతో పని చేయడానికి తక్షణ తరగతిని కలిగి ఉంటుంది. గంటలు, నిమిషాలు మరియు సెకన్లకు బదులుగా, ఇది సెకన్లు, మిల్లీసెకన్లు మరియు నానోసెకన్లతో వ్యవహరిస్తుంది .

ఈ తరగతి ప్రాతినిధ్యం వహించే రెండు ఫీల్డ్‌లను కలిగి ఉంది:

  • జనవరి 1, 1970 నుండి గడిచిన సెకన్ల సంఖ్య
  • నానోసెకన్ల సంఖ్య

తరగతి డెవలపర్‌ల కోసం రూపొందించబడిందా? అవును. అందుకే ఇది యునిక్స్-టైమ్‌లో సమయాన్ని గణిస్తుంది, ఇది 1970 ప్రారంభంలో ప్రారంభమవుతుంది.

Instantక్లాస్ అనేది క్లాస్ యొక్క సరళీకృత వెర్షన్ అని కూడా చెప్పవచ్చు Date, ప్రోగ్రామర్‌లకు అవసరమైన వాటిని మాత్రమే ఉంచుతుంది.

Instantమీరు ఒక వస్తువును సరిగ్గా అదే విధంగా పొందవచ్చు LocalTime:

Instant timestamp = Instant.now();

వేరియబుల్ ఎక్కడ timestampఉంది Instantమరియు క్లాస్ యొక్క స్టాటిక్ మెథడ్‌కి కాల్ .Instant.now()now()Instant

ఉదాహరణ:

కోడ్ కన్సోల్ అవుట్‌పుట్
Instant timestamp = Instant.now();
System.out.println(timestamp);

2019-02-22T08:42:42.234945300Z

of()మీరు జనవరి 1, 1970 నుండి గడిచిన సమయాన్ని దాటడం ద్వారా పద్ధతి యొక్క వైవిధ్యాలను ఉపయోగించి కొత్త వస్తువును కూడా సృష్టించవచ్చు :

ofEpochMilli(long milliseconds)
మీరు మిల్లీసెకన్ల సంఖ్యను పాస్ చేయాలి
ofEpochSecond(long seconds)
మీరు సెకన్ల సంఖ్యను పాస్ చేయాలి
ofEpochSecond(long seconds, long nanos)
మీరు సెకన్లు మరియు నానోసెకన్లను పాస్ చేయాలి

Instantవస్తువులపై అందుబాటులో ఉన్న పద్ధతులు

తక్షణ తరగతి దాని ఫీల్డ్‌ల విలువలను అందించే రెండు పద్ధతులను కలిగి ఉంది:

long getEpochSecond()
జనవరి 1, 1970 నుండి గడిచిన సెకన్ల సంఖ్య
int getNano()
నానోసెకన్లు.
long toEpochMilli()
జనవరి 1, 1970 నుండి గడిచిన మిల్లీసెకన్ల సంఖ్య

Instantఇప్పటికే ఉన్న వస్తువు ఆధారంగా కొత్త వస్తువులను సృష్టించే పద్ధతులు కూడా ఉన్నాయి :

Instant plusSeconds(long)
ప్రస్తుత సమయానికి సెకన్లను జోడిస్తుంది
Instant plusMillis(long)
మిల్లీసెకన్లను జోడిస్తుంది
Instant plusNanos(long)
నానోసెకన్లను జోడిస్తుంది
Instant minusSeconds(long)
సెకన్లు తీసివేస్తుంది
Instant minusMillis(long)
మిల్లీసెకన్లను తీసివేస్తుంది
Instant minusNanos(long)
నానోసెకన్లను తీసివేస్తుంది

ఉదాహరణలు:

కోడ్ కన్సోల్ అవుట్‌పుట్
Instant timestamp = Instant.now();
System.out.println(timestamp);

long n = timestamp.toEpochMilli();
Instant time = Instant.ofEpochMilli(n);
System.out.println(time);

2019-02-22T09:01:20.535344Z



2019-02-22T09:01:20.535Z

వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION