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वर्ग

जावाचे निर्माते देखील जुन्या शालेय पद्धतींबद्दल विसरले नाहीत.

Date Time 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