Kotlin में दिनांक और समय के साथ कार्य का परिचय
\n\nदिनांक और समय के साथ कार्य करना आधुनिक डेवलपमेंट में सबसे सामान्य कार्यों में से एक है। चाहे वह इवेंट लॉगिंग हो, समय सीमा की गणना हो, कार्यों की योजना बनाना हो, या उपयोगकर्ता इंटरफ़ेस प्रदर्शित करना हो — समय चिह्नों के साथ सक्षम कार्य के बिना काम नहीं चलता। Kotlin में, जो Java के साथ पूरी तरह से संगत है, डी-फ़ैक्टो मानक java.time पैकेज है, जो Java 8 में प्रस्तुत किया गया था। इस पैकेज ने पुराने java.util.Date और java.util.Calendar को बदल दिया, जो थ्रेड-सेफ, इम्यूटेबल और सहज API प्रदान करता है।
इस लेख में, हम Kotlin में दिनांक और समय के साथ कार्य करने के सभी प्रमुख पहलुओं को समझेंगे: ऑब्जेक्ट बनाने से लेकर उन्हें फ़ॉर्मेट करने, पार्स करने और अंकगणितीय संचालन करने तक। आप सीखेंगे कि व्यावहारिक उदाहरणों के साथ LocalDate, LocalTime, LocalDateTime, Instant, Duration और Period का उपयोग कैसे करें।
1. दिनांक और समय के साथ कार्य के लिए मुख्य क्लासेस
\n\njava.time पैकेज में कई मुख्य क्लासेस हैं, जिनमें से प्रत्येक अपना कार्य हल करता है। आइए उन पर विस्तार से नज़र डालें।
1.1 LocalDate — समय के बिना दिनांक के साथ कार्य
\n\nLocalDate क्लास समय और समय क्षेत्र को ध्यान में रखे बिना दिनांक (वर्ष, महीना, दिन) का प्रतिनिधित्व करता है। यह जन्मदिन, कैलेंडर इवेंट और किसी विशिष्ट क्षण से बंधे न होने वाली तिथियों के लिए आदर्श है।
import java.time.LocalDate\n\nfun main() {\n // वर्तमान दिनांक\n val today = LocalDate.now()\n println("आज: $today") // 2025-04-05\n\n // विशिष्ट दिनांक\n val newYear = LocalDate.of(2025, 1, 1)\n println("नया साल: $newYear")\n\n // स्ट्रिंग से पार्सिंग\n val parsedDate = LocalDate.parse("2025-12-31")\n println("दिनांक पार्स: $parsedDate")\n}\n\n1.2 LocalTime — दिनांक के बिना समय के साथ कार्य
\n\nLocalTime केवल समय (घंटे, मिनट, सेकंड, नैनोसेकंड) संग्रहीत करता है। यह कार्य दिवस की शुरुआत का समय, शेड्यूल या टाइमर संग्रहीत करने के लिए उपयोगी है।
import java.time.LocalTime\n\nfun main() {\n // वर्तमान समय\n val now = LocalTime.now()\n println("अभी: $now")\n\n // विशिष्ट समय\n val meetingTime = LocalTime.of(14, 30, 0)\n println("मीटिंग का समय: $meetingTime")\n\n // पार्सिंग\n val parsedTime = LocalTime.parse("09:15:30")\n println("समय पार्स: $parsedTime")\n}\n\n1.3 LocalDateTime — दिनांक और समय का संयोजन
\n\nLocalDateTime LocalDate और LocalTime को जोड़ता है। यह समय क्षेत्र के बिना समय के एक क्षण को संग्रहीत करने के लिए सबसे अधिक उपयोग की जाने वाली क्लास है।
import java.time.LocalDateTime\n\nfun main() {\n // वर्तमान दिनांक और समय\n val current = LocalDateTime.now()\n println("अभी: $current")\n\n // घटकों से निर्माण\n val specific = LocalDateTime.of(2025, 4, 5, 10, 30, 0)\n println("विशिष्ट क्षण: $specific")\n\n // दिनांक और समय का संयोजन\n val date = LocalDate.of(2025, 12, 25)\n val time = LocalTime.of(18, 0)\n val christmas = LocalDateTime.of(date, time)\n println("क्रिसमस: $christmas")\n}\n\n1.4 Instant — UTC में समय का क्षण
\n\nInstant Unix टाइमस्टैम्प प्रारूप में समय रेखा पर एक बिंदु का प्रतिनिधित्व करता है (1 जनवरी 1970 से सेकंड और नैनोसेकंड की संख्या)। यह लॉग संग्रहीत करने, डेटाबेस के साथ काम करने और सिस्टम के बीच डेटा आदान-प्रदान के लिए अपरिहार्य है।
import java.time.Instant\n\nfun main() {\n // UTC में वर्तमान क्षण\n val now = Instant.now()\n println("अभी (UTC): $now")\n\n // Unix टाइमस्टैम्प से\n val fromEpoch = Instant.ofEpochSecond(1_700_000_000)\n println("टाइमस्टैम्प से: $fromEpoch")\n\n // मिलीसेकंड में रूपांतरण\n val millis = now.toEpochMilli()\n println("मिलीसेकंड: $millis")\n}\n\n2. दिनांक और समय का फ़ॉर्मेटिंग और पार्सिंग
\n\nदिनांकों को स्ट्रिंग में बदलने के लिए