ट्रैक
/
Java
Java
/
सिलेबस
/
डेट-टाइम
डे

डेट-टाइम में Java

6 अभ्यास

डेट-टाइम के बारे में

Java 8 में पेश किया गया java.time पैकेज तारीख और समय के साथ काम करने के लिए कई क्लास देता है।

LocalDate

java.time.LocalDate क्लास ISO-8601 कैलेंडर सिस्टम में टाइम ज़ोन के बिना एक तारीख को दर्शाता है, जैसे 2007-12-03:

LocalDate date = LocalDate.of(2007, 12, 3);

तारीखों की तुलना दूसरी तारीखों से की जा सकती है:

LocalDate date1 = LocalDate.of(2007, 12, 3);
LocalDate date2 = LocalDate.of(2007, 12, 4);

date1.isBefore(date2);
// => true

date1.isAfter(date2);
// => false

एक LocalDate इंस्टेंस में उससे समय के हिस्से निकालने के लिए गेटर मेथड होते हैं:

LocalDate date = LocalDate.of(2007, 12, 3);

date.getYear();
// => 2007

date.getMonthValue();
// => 12

date.getDayOfMonth();
// => 3

एक LocalDate इंस्टेंस में उसमें समय की इकाइयाँ जोड़ने के लिए मेथड होते हैं।

Note

ये मेथड एक नया LocalDate इंस्टेंस लौटाते हैं और मौजूदा इंस्टेंस को नहीं बदलते, क्योंकि LocalDate क्लास इम्यूटेबल है।

LocalDate date = LocalDate.of(2007, 12, 3);

date.plusDays(3);
// => 2007-12-06

date.plusMonths(1);
// => 2008-01-03

date.plusYears(1);
// => 2008-12-03

LocalDateTime

java.time.LocalDateTime क्लास ISO-8601 कैलेंडर सिस्टम में टाइम ज़ोन के बिना तारीख और समय को दर्शाता है, जैसे 2007-12-03T10:15:30:

LocalDateTime datetime = LocalDateTime.of(2007, 12, 3, 10, 15, 30);

datetime.getYear();
// => 2007

datetime.getMonthValue();
// => 12

datetime.getDayOfMonth();
// => 3

datetime.getHours();
// => 10

datetime.getMinutes();
// => 15

datetime.getSeconds();
// => 30

LocalDate क्लास की तरह, LocalDateTime इंस्टेंस में भी दूसरे LocalDateTime से तुलना करने और उसमें समय की इकाइयाँ जोड़ने के लिए वही मेथड होते हैं।

किसी LocalDate इंस्टेंस को LocalDateTime में बदलना भी संभव है:

LocalDate date = LocalDate.of(2007, 12, 3);
LocalDateTime datetime = date.atTime(10, 15, 30);
datetime.toString();
// => "2007-12-03T10:15:30"

तारीख और समय को फॉर्मेट करना

LocalDate और LocalDateTime, दोनों किसी String से और String में बदलते समय ISO-8601 मानक नोटेशन का उपयोग करते हैं।

LocalDateTime datetime = LocalDateTime.of(2007, 12, 3, 10, 15, 30);
LocalDateTime parsed = LocalDateTime.parse("2007-12-03T10:15:30");

datetime.isEqual(parsed);
// => true

इस तरह किसी अलग फॉर्मेट का इस्तेमाल करके LocalDate या LocalDateTime को String से पार्स करना संभव नहीं है। इसके बजाय, कस्टम फॉर्मेट से तारीखें फॉर्मेट करने के लिए आपको java.time.format.DateTimeFormatter का उपयोग करना चाहिए:

DateTimeFormatter parser = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate date = LocalDate.parse("03/12/2007", formatter);

DateTimeFormatter printer = DateTimeFormatter.ofPattern("MMMM d, yyyy");
printer.format(date);
// => "December 3, 2007"

कस्टम फॉर्मेट बनाते समय एक लोकेल भी तय किया जा सकता है, ताकि अलग-अलग क्षेत्रों के लिए फॉर्मेट और पार्स किया जा सके:

DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.FRENCH).format(date);
// => décembre 3, 2007

DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.of("pt")).format(date);
// => dezembro 3, 2007
GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

डेट-टाइम सीखिए