kotlinx-datetime Kotlin: पूरी गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

kotlinx-datetime: Kotlin में मल्टीप्लेटफॉर्म डेट और टाइम हैंडलिंग

1. यह क्या है और इसकी ज़रूरत क्यों है

kotlinx-datetime JetBrains की आधिकारिक लाइब्रेरी है जो Kotlin इकोसिस्टम में डेट और टाइम के साथ काम करने के लिए बनाई गई है। इसकी सबसे बड़ी खासियत है मल्टीप्लेटफॉर्म सपोर्ट: एक ही कोड JVM, JS (ब्राउज़र और Node.js), Native (iOS, macOS, Windows, Linux) और Wasm पर काम करता है। यह डेवलपर्स को अलग-अलग प्लेटफॉर्म के लिए अलग-अलग कोड लिखने या कई लाइब्रेरीज़ का उपयोग करने से बचाता है।

इसकी ज़रूरत क्यों है? Kotlin/JVM की स्टैंडर्ड लाइब्रेरी java.time का उपयोग करती है, जो अन्य प्लेटफॉर्म पर उपलब्ध नहीं है। Kotlin/Native और Kotlin/JS के लिए या तो प्लेटफॉर्म API (NSDate, Date) का उपयोग करना पड़ता था या तीसरे पक्ष की लाइब्रेरीज़ लगानी पड़ती थीं। kotlinx-datetime इस समस्या को हल करती है, एक समान API प्रदान करके जो ISO-8601 स्पेसिफिकेशन पर आधारित है। इसमें समय के क्षणों (Instant), बिना समय की तारीख (LocalDate), बिना तारीख का समय (LocalTime), तारीख और समय (LocalDateTime), टाइम ज़ोन (TimeZone) और अवधियों (DateTimePeriod) के लिए क्लास शामिल हैं।

यह लाइब्रेरी Kotlin Multiplatform (KMP) प्रोजेक्ट्स, Ktor पर सर्वर एप्लिकेशन, Android ऐप्स (java.time के विकल्प के रूप में) और यहां तक कि स्क्रिप्ट और कंसोल यूटिलिटीज़ के लिए भी एकदम सही है। यह हल्की है, इसकी कोई बाहरी डिपेंडेंसी नहीं है, और समुदाय द्वारा सक्रिय रूप से समर्थित है।

2. इंस्टॉलेशन

यह लाइब्रेरी Maven Central के माध्यम से उपलब्ध है। इसे जोड़ने के लिए build.gradle.kts (या build.gradle) फ़ाइल में डिपेंडेंसी जोड़नी होगी। नीचे Gradle Kotlin DSL के लिए सटीक कोड दिया गया है।

// build.gradle.kts
repositories {
    mavenCentral()
}

dependencies {
    // मुख्य लाइब्रेरी
    implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1")

    // अगर आप मल्टीप्लेटफॉर्म प्रोजेक्ट का उपयोग कर रहे हैं, तो commonMain में जोड़ें:
    // commonMain.dependencies {
    //     implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1")
    // }
}

महत्वपूर्ण: वर्जन 0.6.1 इस लेख को लिखने के समय नवीनतम स्थिर संस्करण है। नवीनतम संस्करण के लिए GitHub रिलीज़ देखें। Gradle Groovy DSL के लिए भी यही कमांड होगी, बस स्ट्रिंग्स के आसपास कोट्स नहीं होंगे।

अगर आप Maven का उपयोग कर रहे हैं, तो pom.xml में जोड़ें:

<dependency>
    <groupId>org.jetbrains.kotlinx</groupId>
    <artifactId>kotlinx-datetime</artifactId>
    <version>0.6.1</version>
</dependency>

Gradle Kotlin DSL के साथ मल्टीप्लेटफॉर्म प्रोजेक्ट (KMP) के लिए, commonMain में जोड़ें:

kotlin {
    sourceSets {
        commonMain.dependencies {
            implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1")
        }
    }
}

3. त्वरित शुरुआत

न्यूनतम काम करने वाला उदाहरण: वर्तमान समय का क्षण बनाना, उसे फ़ॉर्मेट करना और कंसोल पर प्रिंट करना।

import kotlinx.datetime.*

fun main() {
    // UTC में वर्तमान समय का क्षण प्राप्त करें
    val now: Instant = Clock.System.now()
    println("UTC में वर्तमान क्षण: $now")

    // स्थानीय तारीख और समय में बदलें (सिस्टम टाइम ज़ोन का उपयोग करके)
    val localDateTime: LocalDateTime = now.toLocalDa                    

अनुशंसाएँ