जावा 8 दिनांक और समय एपीआई की 5 उपयोगी विशेषताएं

2014 में जावा 8 की रिलीज ने एक नई तारीख और समय एपीआई पेश की। आप आसानी से java.time पैकेज आयात करके इस एपीआई तक पहुंच सकते हैं।

जावा 8 दिनांक और समय एपीआई के साथ, डेवलपर्स के पास दिनांक, समय, समय क्षेत्र, इंस्टेंट, अवधि और अवधि तक आसान पहुंच है। ये सुविधाएँ java.time पैकेज में कक्षाओं की एक विस्तृत सूची के माध्यम से उपलब्ध हैं।

इस ट्यूटोरियल में, आप Java 8 दिनांक और समय API की पाँच उपयोगी विशेषताओं के बारे में जानेंगे।

1. अपना स्थानीय समय प्राप्त करना

Java 8 दिनांक और समय API LocalTime नामक एक वर्ग के साथ आता है। यह वर्ग घंटे-मिनट-सेकंड प्रारूप में समय प्रदान करता है।

संबंधित: एपीआई किस लिए खड़ा है? एपीआई का उपयोग कैसे करें के उदाहरण

इस वर्ग का उपयोग करके अपना वर्तमान समय प्राप्त करने के लिए, आपको सबसे पहले स्थानीय समय वर्ग का एक नया ऑब्जेक्ट बनाना होगा। फिर अब () विधि से प्राप्त वस्तु को पास करें। नव निर्मित वस्तु तब कार्यक्रम के निष्पादन के वर्तमान समय को संग्रहीत करेगी। ऐसा इसलिए है क्योंकि अभी () विधि आपके कंप्यूटर पर मौजूद सिस्टम घड़ी से वर्तमान समय को पुनः प्राप्त करती है।

लोकलटाइम क्लास उदाहरण का उपयोग करना

 import java.time.LocalTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new time object that stores the local time
LocalTime time = LocalTime.now();

System.out.println("The current hour is: " + time.getHour());
System.out.println("The current minute is: " + time.getMinute());
System.out.println("The current second is: " + time.getSecond());
System.out.println("The current time to the nanosecond is: " + time);
}
}

उपरोक्त कोड विभिन्न स्थानीय समय विधियों का उपयोग करके कई सरल कार्यों को पूरा करता है। उपरोक्त कोड को निष्पादित करने से कंसोल में निम्न आउटपुट उत्पन्न होता है।

 The current hour is: 10
The current minute is: 45
The current second is: 19
The current time to the nanosecond is: 10:45:19.324014300

2. अपनी स्थानीय तिथि प्राप्त करें

आप जावा 8 दिनांक और समय एपीआई के माध्यम से अपनी स्थानीय तिथि प्राप्त कर सकते हैं, ठीक उसी तरह जैसे आप अपना स्थानीय समय पुनः प्राप्त करते हैं। फर्क सिर्फ इतना है कि आप LOCALTIME वर्ग के बजाय LOCALDATE वर्ग का उपयोग करें।

संबंधित: जानें कि जावा में कक्षाएं कैसे बनाएं

LocalDate क्लास अब () पद्धति की सहायता से आपके कंप्यूटर पर सिस्टम दिनांक प्रदर्शित करने के लिए वर्ष-महीने-दिन की संरचना का उपयोग करती है। LocalDate वर्ग 50 से अधिक विभिन्न विधियों तक पहुँच प्रदान करता है, लेकिन जिनका आप अधिक बार उपयोग कर सकते हैं, वे इस प्रकार हैं।

  • now() (कोई तर्क नहीं लेता है और वर्तमान तिथि लौटाता है)
  • getYear() (कोई तर्क नहीं लेता है और चालू वर्ष लौटाता है)
  • getMonth() (कोई तर्क नहीं लेता है और वर्तमान माह लौटाता है)
  • getDayOfWeek () (कोई तर्क नहीं लेता है और सप्ताह का वर्तमान दिन लौटाता है)
  • getDayOfMonth () (कोई तर्क नहीं लेता है और महीने का वर्तमान दिन लौटाता है)
  • getDayOfYear () (कोई तर्क नहीं लेता है और वर्ष का वर्तमान दिन लौटाता है)

लोकलडेट क्लास उदाहरण का उपयोग करना

 import java.time.LocalDate;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new date object that stores the local date
LocalDate date = LocalDate.now();

System.out.println("The current year is: " + date.getYear());
System.out.println("The current month is: " + date.getMonth());
System.out.println("The current day of the week is: " + date.getDayOfWeek());
System.out.println("The current day of the Month is: " + date.getDayOfMonth());
System.out.println("The current day of the year is: " + date.getDayOfYear());
System.out.println("The current date is: " + date);
}
}

उपरोक्त कोड कंसोल में निम्न आउटपुट उत्पन्न करता है।

 The current year is: 2021
The current month is: SEPTEMBER
The current day of the week is: TUESDAY
The current day of the Month is: 14
The current day of the year is: 257
The current date is: 2021-09-14

3. जांचें कि क्या चालू वर्ष एक लीप वर्ष है

LocalDate वर्ग में कई विधियों में isLeapYear () विधि है। आप इस विधि का उपयोग यह जांचने के लिए कर सकते हैं कि दिया गया वर्ष लीप वर्ष है या नहीं। वर्तमान वर्ष की जांच करने के लिए, आप अभी () विधि के साथ एक नया लोकलडेट ऑब्जेक्ट बना सकते हैं, और नए बनाए गए ऑब्जेक्ट पर isLeapYear () विधि का उपयोग कर सकते हैं

LocalDate ऑब्जेक्ट पर isLeapYear () विधि का उपयोग करने से एक बूलियन मान वापस आ जाएगा, जो कि सत्य होगा यदि वर्ष एक लीप वर्ष है और अन्यथा गलत है।

isLeapYear() विधि उदाहरण का उपयोग करना

 import java.time.LocalDate;

public class DateTimeAPI {
public static void main(String[] args) {
// create an object to store the current date.
LocalDate date = LocalDate.now();

// check if the current year is a leap year.
boolean isLeap = date.isLeapYear();

// get the current year from the current date.
int year = date.getYear();

// tell the user if the current year is a leap year.
if (isLeap) {
System.out.println(year + " is a leap year.");
} else {
System.out.println(year + " is not a leap year.");
}
}
}

उपरोक्त कोड कंसोल में निम्न आउटपुट उत्पन्न करेगा।

 
2021 is not a leap year.

4. अपनी स्थानीय तिथि और समय प्राप्त करें

Java 8 दिनांक और समय API में LocalDateTime नामक एक वर्ग है। जैसा कि इसके नाम से पता चलता है, आप अपने वर्तमान स्थान पर दिनांक और समय प्राप्त करने के लिए इस वर्ग का उपयोग कर सकते हैं।

कक्षा में कई महत्वपूर्ण विधियाँ हैं, लेकिन अब () विधि वह हो सकती है जिससे आप पहले परिचित होना चाहते हैं। LocalDateTime वर्ग की अभी () विधि आपके वर्तमान स्थान की तिथि और समय लौटाती है। यह साल-महीने-दिन टी घंटे: मिनट: सेकंड संरचना का उपयोग करता है; जहां तारीख पहले दिखाई देती है और पूंजी टी इसे समय से अलग करती है।

LocalDateTime क्लास उदाहरण का उपयोग करना

 import java.time.LocalDateTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new date object that stores the local date
LocalDateTime dateTime = LocalDateTime.now();

// the current time
System.out.println("The current hour is: " + dateTime.getHour());
System.out.println("The current minute is: " + dateTime.getMinute());
System.out.println("The current second is: " + dateTime.getSecond());

// the current date
System.out.println("The current year is: " + dateTime.getYear());
System.out.println("The current month is: " + dateTime.getMonth());
System.out.println("The current day of the week is: " + dateTime.getDayOfWeek());
System.out.println("The current day of the Month is: " + dateTime.getDayOfMonth());
System.out.println("The current day of the year is: " + dateTime.getDayOfYear());

// the current date and time
System.out.println("The current date and time is: " + dateTime);
}
}

उपरोक्त कोड कंसोल में निम्न आउटपुट उत्पन्न करता है।

 The current hour is: 11
The current minute is: 9
The current second is: 30
The current year is: 2021
The current month is: SEPTEMBER
The current day of the week is: TUESDAY
The current day of the Month is: 14
The current day of the year is: 257
The current date and time is: 2021-09-14T11:09:30.009675800

जैसा कि आप ऊपर दिए गए आउटपुट से देख सकते हैं, LocalDateTime वर्ग दिनांक और समय संयोजन, साथ ही व्यक्तिगत मान (जैसे वर्तमान माह) उत्पन्न कर सकता है, जिसे आप LocalDate और LocalTime कक्षाओं से प्राप्त कर सकते हैं।

5. किसी स्थान की वर्तमान तिथि और समय उसके समय क्षेत्र का उपयोग करके प्राप्त करें

जैसा कि आपने अभी तक देखा है, जावा 8 दिनांक और समय एपीआई में कई उपयोगी विशेषताएं हैं। एक अन्य उपयोगी है अपने वर्तमान स्थान का समय क्षेत्र, या अपने समय क्षेत्र का उपयोग करके किसी स्थान पर दिनांक और समय प्राप्त करने की क्षमता।

ZonedDateTime क्लास उदाहरण का उपयोग करना

 import java.time.ZoneId;
import java.time.ZonedDateTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new object to store your local date, time, and time-zone.
ZonedDateTime zDateTime = ZonedDateTime.now();

// create a zoneId object to store your local time-zone
ZoneId localTimeZone = zDateTime.getZone();

// create a new zoneId object to store the zoneId provided by the user
ZoneId newZoneId = ZoneId.of("GMT-03:00");

// create an object to store the current date, time, and time-zone
// retrieved using the zoneId provide by the user
ZonedDateTime newLocation = ZonedDateTime.now(newZoneId);

System.out.println("The date, time, and time-zone at your current location is: " + zDateTime);
System.out.println("The time-zone at your current location is: " + localTimeZone);
System.out.println("The date, time, and time-zone at the new time-zone is: " + newLocation );
}
}

उपरोक्त कोड में बहुत कुछ हो रहा है। पिछली कक्षाओं की तरह, ZoneDateTime वर्ग अब () पद्धति का उपयोग करता है, जो इस मामले में वर्तमान तिथि, समय और समय क्षेत्र के साथ एक वस्तु लौटाता है।

हालांकि, पिछले उदाहरणों के विपरीत, ZoneDateTime वर्ग उपयोगकर्ता से एक समय क्षेत्र लेता है और उपयुक्त दिनांक और समय देता है।

उपरोक्त कोड कंसोल में निम्न आउटपुट उत्पन्न करेगा।

 The date, time, and time-zone at your current location is: 2021-09-14T15:00:17.029010300-05:00[GMT-05:00]
The time-zone at your current location is: GMT-05:00
The date, time, and time-zone at the new time-zone is: 2021-09-14T17:00:17.042989-03:00[GMT-03:00]

जैसा कि आप ऊपर दिए गए आउटपुट से देख सकते हैं, GMT-03: 00 समय क्षेत्र GMT-05:00 समय क्षेत्र से दो घंटे आगे है।

एपीआई के बारे में अधिक जानें

इस ट्यूटोरियल में, आपने जावा 8 दिनांक और समय API के साथ आने वाली पाँच प्रमुख विशेषताओं के बारे में जाना। यह सूची किसी भी तरह से पूर्ण नहीं है, और एपीआई की अन्य विशेषताएं हैं जिन्हें आप एक्सप्लोर कर सकते हैं।

हालांकि, अगर आप इस बारे में उत्सुक हैं कि एपीआई सामान्य रूप से कैसे काम करते हैं, तो इसमें भी आपकी मदद करने के लिए संसाधन हैं।