జావా 8కి ముందు, జావాలో తేదీలు మరియు సమయాలతో పని చేయడం గజిబిజిగా మరియు దోషపూరితంగా ఉండేది. మరియు తరగతులతో పని చేయడం సులభం కాదు మరియు తరచుగా బగ్లను కనుగొనడం కష్టం java.util.Date
. java.util.Calendar
జావా 8 ప్యాకేజీలో కొత్త తేదీ/సమయం APIని పరిచయం చేసింది, java.time
ఇది తేదీలు మరియు సమయాలతో పని చేయడానికి మరింత స్పష్టమైన మరియు సౌకర్యవంతమైన మార్గాన్ని అందిస్తుంది.
కొత్త తేదీ/సమయం API యొక్క కొన్ని ముఖ్య లక్షణాలు:
మార్పులేని వస్తువులు: ప్యాకేజీలోని అన్ని తరగతులు
java.time
మార్పులేనివి, అంటే వాటిని సృష్టించిన తర్వాత వాటిని సవరించడం సాధ్యం కాదు. థ్రెడ్ల మధ్య భాగస్వామ్యం చేయబడిన వస్తువులను మార్చడం వల్ల తలెత్తే బగ్లను నివారించడానికి ఇది సహాయపడుతుంది.స్పష్టమైన మరియు సంక్షిప్త API: కొత్త API తేదీలు, సమయాలు మరియు వ్యవధులతో పని చేయడానికి స్పష్టమైన మరియు సంక్షిప్త పద్ధతులను అందిస్తుంది.
plus
ఉదాహరణకు, మీరు పద్ధతులు మరియు పద్ధతులను ఉపయోగించి తేదీ నుండి రోజులు, నెలలు లేదా సంవత్సరాలను జోడించవచ్చు లేదా తీసివేయవచ్చుminus
లేదా తరగతిని ఉపయోగించి రెండు తేదీల మధ్య వ్యత్యాసాన్ని లెక్కించవచ్చుDuration
.సమయ మండలాలు మరియు ఆఫ్సెట్లు: కొత్త API సమయ మండలాలు మరియు ఆఫ్సెట్లకు మెరుగైన మద్దతును అందిస్తుంది. మీరు తరగతిని ఉపయోగించి వేర్వేరు సమయ మండలాల మధ్య తేదీలు మరియు సమయాలను సులభంగా మార్చవచ్చు
ZonedDateTime
లేదా తరగతులను ఉపయోగించి ఆఫ్సెట్లతో పనిOffsetDateTime
చేయవచ్చుZoneOffset
.మెరుగైన పార్సింగ్ మరియు ఫార్మాటింగ్: కొత్త API
DateTimeFormatter
తరగతిని ఉపయోగించి తేదీలు మరియు సమయాల యొక్క మెరుగైన పార్సింగ్ మరియు ఫార్మాటింగ్ను అందిస్తుంది. ఇది స్ట్రింగ్ల నుండి తేదీలు మరియు సమయాలను అన్వయించడం లేదా వాటిని ప్రదర్శన కోసం ఫార్మాట్ చేయడం సులభం చేస్తుంది.
కొత్త తేదీ/సమయం APIని ఎలా ఉపయోగించాలో ఇక్కడ కొన్ని ఉదాహరణలు ఉన్నాయి:
- తేదీని సృష్టిస్తోంది:
జావాLocalDate date = LocalDate.of(2022, Month.MARCH, 17);
- రోజులను జోడించడం లేదా తీసివేయడం:
జావాLocalDate newDate = date.plusDays(7);
- తేదీని ఫార్మాట్ చేయడం:
జావాDateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
String formattedDate = date.format(formatter);
- తేదీని అన్వయించడం:
జావాString dateString = "17/03/2022";
LocalDate parsedDate = LocalDate.parse(dateString, formatter);
- సమయ మండలాల మధ్య మార్పిడి:
జావాZonedDateTime dateTime = ZonedDateTime.of(LocalDateTime.now(), ZoneId.of("Europe/Paris"));
ZonedDateTime convertedDateTime = dateTime.withZoneSameInstant(ZoneId.of("Asia/Tokyo"));
మొత్తంమీద, Java 8లోని కొత్త తేదీ/సమయం API జావాలో తేదీలు మరియు సమయాలతో పని చేయడానికి మరింత స్పష్టమైన మరియు సౌకర్యవంతమైన మార్గాన్ని అందిస్తుంది, ఇది సరైన మరియు నిర్వహించదగిన కోడ్ని వ్రాయడాన్ని సులభతరం చేస్తుంది.