Kotlin में दिनांक और समय के साथ कार्य करने का परिचय
दिनांक और समय के साथ कार्य करना किसी भी एप्लिकेशन के विकास में प्रमुख कार्यों में से एक है। चाहे वह इवेंट लॉगिंग हो, समय सीमा की गणना हो, कैलेंडर प्रदर्शित करना हो या टाइमस्टैम्प के साथ कार्य करना हो - एक विश्वसनीय टूलकिट के बिना काम नहीं चल सकता। Kotlin इकोसिस्टम में इस उद्देश्य के लिए शक्तिशाली लाइब्रेरी java.time का उपयोग किया जाता है, जो पुराने java.util.Date और java.util.Calendar की जगह लेती है। Java के साथ पूर्ण संगतता के कारण, Kotlin java.time की सभी क्षमताओं का सीधे उपयोग करने की अनुमति देता है, साथ ही सुविधाजनक एक्सटेंशन और सिंटैक्टिक शुगर भी जोड़ता है।
इस लेख में, हम विस्तार से समझेंगे कि Kotlin में दिनांक और समय कैसे बनाएं, फ़ॉर्मेट करें, पार्स करें और रूपांतरित करें। आप LocalDate, LocalTime, LocalDateTime, ZonedDateTime और Instant जैसे प्रमुख क्लासेस के बारे में जानेंगे, साथ ही अवधियों और अंतरालों के साथ कार्य करना भी सीखेंगे। सभी कोड उदाहरण शुद्ध Kotlin में लिखे गए हैं और उपयोग के लिए तैयार हैं।
दिनांक और समय के साथ कार्य करने के लिए मुख्य क्लासेस
लाइब्रेरी java.time कई प्रमुख क्लासेस प्रदान करती है, जिनमें से प्रत्येक अपना कार्य हल करती है। आइए उन्हें विस्तार से देखें।
LocalDate — समय के बिना दिनांक के साथ कार्य करना
क्लास LocalDate समय और समय क्षेत्र को ध्यान में रखे बिना दिनांक (वर्ष, महीना, दिन) का प्रतिनिधित्व करता है। यह जन्मदिन, कैलेंडर इवेंट और उन कार्यों के लिए आदर्श है जहाँ समय मायने नहीं रखता।
import java.time.LocalDate
fun main() { // वर्तमान दिनांक val today = LocalDate.now() println("आज: $today")
// विशिष्ट दिनांक val specificDate = LocalDate.of(2024, 12, 25) println("क्रिसमस: $specificDate")
// स्ट्रिंग से पार्सिंग val parsedDate = LocalDate.parse("2024-12-25") println("पार्स किया गया: $parsedDate")}LocalTime — दिनांक के बिना समय के साथ कार्य करना
LocalTime केवल समय (घंटे, मिनट, सेकंड, नैनोसेकंड) संग्रहीत करता है। इसका उपयोग शेड्यूल, टाइमर और दिनांक से स्वतंत्र टाइमस्टैम्प के लिए किया जाता है।
import java.time.LocalTime
fun main() { // वर्तमान समय val now = LocalTime.now() println("अभी: $now")
// विशिष्ट समय val lunchTime = LocalTime.of(13, 30) println("दोपहर का भोजन: $lunchTime")
// पार्सिंग val parsedTime = LocalTime.parse("15:45:30") println("पार्स किया गया: $parsedTime")}LocalDateTime — दिनांक और समय का संयोजन
LocalDateTime LocalDate और LocalTime को जोड़ता है। यह समय क्षेत्र को ध्यान में रखे बिना समय के एक क्षण को संग्रहीत करने के लिए सबसे अधिक उपयोग की जाने वाली क्लास है।
import java.time.LocalDateTimeimport java.time.LocalDateimport java.time.LocalTime
fun main() { // वर्तमान क्षण val now = LocalDateTime.now() println("अभी: $now")
// अलग-अलग घटकों से val date = LocalDate.of(2024, 12, 25) val time = LocalTime.of(10, 0) val christmasMorning = LocalDateTime.of(date, time) println("क्रिसमस की सुबह: $christmasMorning")
// संयुक्त विधि val newYear = LocalDateTime.of(2025, 1, 1, 0, 0) println("नया साल: $newYear")}दिनांकों का फ़ॉर्मेटिंग और पार्सिंग
दिनांकों को स्ट्रिंग में और वापस बदलने के लिए क्लास DateTimeFormatter का उपयोग किया जाता है। यह कई पूर्वनिर्धारित फ़ॉर्मेट का समर्थन करता है, साथ ही कस्टम पैटर्न बनाने की भी अनुमति देता है।
दिनांक को स्ट्रिंग में फ़ॉर्मेट करना
import java.time.LocalDateTimeimport java.time.format.DateTimeFormatter
fun main() { val now = LocalDateTime.now()
// मानक ISO फ़ॉर्मेट val isoFormat = now.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) println("ISO: $isoFormat")
// कस्टम फ़ॉर्मेट val customFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss") va