1: कार्बन के साथ शुरुआत

1.1 परिचय

कार्बन (Carbon) एक सरल, धारात्मक और डेवलपर-मित्रपूर्ण गोलांग पैकेज है जो डेटाटाइम के साथ काम करने के लिए बनाया गया है।

कार्बन का उपयोग करने के फायदे:

  • डेवलपर-मित्रपूर्ण: कार्बन डेटाटाइम के साथ काम करने के लिए एक सजीव और स्पष्ट इंटरफ़ेस प्रदान करता है जो डेवलपर्स के लिए सहज है।
  • अंतरराष्ट्रीयकरण समर्थन: अंतरराष्ट्रीयकरण का समर्थन, जो आपको अपने डेटा प्रतिनिधियों को स्थानीय बनाने की अनुमति देता है।
  • अपरिवर्तनीयता: कार्बन इंस्टेंसेस अपरिवर्तनीय होते हैं, जिसका मतलब है कि वे अप्रत्याशित संशोधन के बिना सुरक्षित रूप से पास किए जा सकते हैं।
  • समयक्षेत्र प्रबंधन: कार्बन विभिन्न समयक्षेत्रों में डेटाटाइम का प्रबंधन करने की जटिलता को सरल बनाता है।
  • व्यापक API: डेटा और समय को बनाने, पार्स करने और स्वरूपित करने के लिए फ़ंक्शनों का एक व्यापक सेट प्रदान करता है।

1.2 स्थापना गाइड

Go संस्करण >= 1.16 के लिए स्थापना

Go संस्करण 1.16 या उससे ऊपर के लिए कार्बन पैकेज को स्थापित करने के लिए, निम्नलिखित कमांड का उपयोग करें:

go get -u github.com/golang-module/carbon/v2

फिर, पैकेज को अपनी Go फ़ाइल में आयात करें:

import "github.com/golang-module/carbon/v2"

Go संस्करण < 1.16 के लिए स्थापना

पुराने संस्करणों के लिए, आप कार्बन को निम्नलिखित प्रकार से स्थापित कर सकते हैं:

go get -u github.com/golang-module/carbon

और इसे उसी प्रकार से आयात करें:

import "github.com/golang-module/carbon"

ध्यान दें कि v1 अब सक्रिय तौर पर अपडेट नहीं किया जाता है, लेकिन यह बग निवारण के लिए बनाए रखा जाएगा।

1.3 अपने पहले कार्बन प्रोजेक्ट की स्थापना

कार्बन का मौलिक विन्यास: कार्बन इंस्टॉल होने के बाद, आप बस एक नए कार्बन इंस्टेंस बनाकर इस्तेमाल करना शुरू कर सकते हैं। आप अपने प्रोजेक्ट की आवश्यकताओं के अनुसार डिफ़ॉल्ट ग्लोबल लेआउट, समयक्षेत्र और स्थानीय सेट करके कार्बन को अनुकूलित कर सकते हैं।

डिफ़ॉल्ट ग्लोबल लेआउट, समयक्षेत्र और स्थानीय सेट करना:

carbon.SetDefault(carbon.Default{
  Layout: carbon.RFC3339Layout,
  Timezone: carbon.PRC,
  Locale: "en",
})

यदि स्पष्ट रूप से सेट नहीं किया गया है, तो कार्बन के इनके डिफ़ॉल्ट सेटिंग होते हैं — Layout: "2006-01-02 15:04:05", Timezone: Local, Locale: "en".

2: मूल कार्बन ऑपरेशन

2.1 वर्तमान समय के साथ काम करना

वर्तमान दिनांक और समय प्राप्त करना

बहुत सारी एप्लिकेशन में वर्तमान दिनांक और समय प्राप्त करना एक मौलिक ऑपरेशन है। कार्बन के साथ, आप carbon.Now() मेथड को कॉल करके वर्तमान दिनांक इंस्टेंस प्राप्त कर सकते हैं। आइए देखें कि वर्तमान दिनांक को कैसे प्राप्त किया जा सकता है:

// कार्बन इंस्टेंस के रूप में वर्तमान दिनांक प्राप्त करता है।
now := carbon.Now()

fmt.Println("वर्तमान दिनांक और समय:", now)

आज, कल और कल के समय को प्रदर्शित करना

कार्बन तुरंत ही वर्तमान दिन के संदर्भ में तारीखों के साथ काम करने का एक सुरम्य तरीका प्रदान करता है। आज, कल और कल के समय का प्रतिनिधित्व प्राप्त करने के लिए, आप प्रत्येक तारीख के संदर्भ में carbon.Now(), carbon.Yesterday(), और carbon.Tomorrow() मेथड का उपयोग कर सकते हैं।

// आज का दिनांक
today := carbon.Now()
fmt.Println("आज:", today.ToDateTimeString())

// कल का दिनांक
yesterday := carbon.Yesterday()
fmt.Println("कल:", yesterday.ToDateTimeString())

// कल का दिनांक
tomorrow := carbon.Tomorrow()
fmt.Println("कल:", tomorrow.ToDateTimeString())

यह मेथड मैनुअल गणनाएं किए बिना इन सामान्य तारीख संदर्भों के साथ व्यापक तरीके से आपस के साथ विचार-विमर्श करने के लिए एक संक्षिप्त तरीके प्रदान करता है।

वर्तमान समय का स्वरूप और प्रतिनिधित्व

कार्बन दिनांक और समय का विभिन्न तरीकों में स्वरूप और प्रदर्शित करने के लिए विभिन्न तरीके प्रासंगिक बनाता है। चाहे आपको ISO8601 जैसा एक मानक स्वरूप, एक अनुकूलित स्वरूप या कुछ खास चाहिए, कार्बन के पास उन स्वरूपित करने के लिए मेथड्स होते हैं।

यहां वर्तमान दिनांक को विभिन्न तरीकों में स्वरूपित करने का तरीका है:

// मानक दिनांक प्रतिनिधित्व
fmt.Println("RFC3339:", now.ToRFC3339String())
fmt.Println("ISO8601:", now.ToIso8601String())

// अनुकूलित दिनांक स्वरूप
fmt.Println("कस्टम:", now.Format("Monday, 02-Jan-06 15:04:05 MST"))

// पूर्वनिर्धारित विन्यासों का उपयोग करना
fmt.Println("ANSIC विन्यास:", now.ToAnsicString())
fmt.Println("UnixDate विन्यास:", now.ToUnixDateString())
fmt.Println("RubyDate विन्यास:", now.ToRubyDateString())
fmt.Println("Kitchen विन्यास:", now.ToKitchenString())

// अनुकूलित पैटर्न के लिए, Format मेथड का उपयोग करें
fmt.Println("कस्टम पैटर्न:", now.Format("2006-01-02 3:04 PM"))

2.2 कार्बन इंस्टेंसेस का निर्माण

टाइमस्टैम्प से इंस्टेंस बनाना

गो में, टाइमस्टैम्प का सामना सामान्य होता है, और कार्बन प्राकृतिक तरीके से इसका सामना करने के लिए सरल विध