Go (Golang) में तिथियों के साथ कार्य: पार्सिंग, फ़ॉर्मेटिंग और हेरफेर के लिए लाइब्रेरियों का अवलोकन

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

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

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

Go (Golang) में तिथियों के साथ कार्य: लाइब्रेरियाँ और उपकरण



Go (Golang) भाषा एक शक्तिशाली मानक लाइब्रेरी time प्रदान करती है, जो तिथियों और समय के साथ कार्य के अधिकांश कार्यों को कवर करती है। हालाँकि, जटिल संचालनों के लिए, जैसे कि गैर-मानक प्रारूपों को पार्स करना, सापेक्ष तिथियों के साथ कार्य करना या व्यावसायिक कैलेंडर के साथ गणना करना, समुदाय ने कई उपयोगी लाइब्रेरियाँ बनाई हैं। इस लेख में, हम Go की अंतर्निहित क्षमताओं और तिथियों के साथ कार्य के लिए सर्वश्रेष्ठ तृतीय-पक्ष पैकेजों दोनों पर विचार करेंगे।



1. अंतर्निहित लाइब्रेरी time



मानक लाइब्रेरी time Go में तिथियों के साथ किसी भी संचालन का आधार है। यह प्रदान करती है:

  • Time, Duration, Location प्रकार
  • वर्तमान समय प्राप्त करने, तिथियाँ बनाने, पार्स करने और फ़ॉर्मेट करने के लिए फ़ंक्शन
  • समय क्षेत्रों और मोनोटोनिक घड़ियों का समर्थन


वर्तमान समय प्राप्त करना

package main

import ( "fmt" "time")

func main() { now := time.Now() fmt.Println("वर्तमान समय:", now) fmt.Println("वर्ष:", now.Year()) fmt.Println("महीना:", now.Month()) fmt.Println("दिन:", now.Day())}


तिथियों को फ़ॉर्मेट करना

Go में एक विशेष संदर्भ प्रारूप का उपयोग किया जाता है: Mon Jan 2 15:04:05 MST 2006 (1,2,3,4,5,6 — आरोही क्रम में अंक)।

now := time.Now()fmt.Println(now.Format("2006-01-02 15:04:05"))   // 2025-03-15 14:30:00fmt.Println(now.Format("02 Jan 2006"))           // 15 Mar 2025fmt.Println(now.Format(time.RFC3339))            // 2025-03-15T14:30:00Z


स्ट्रिंग पार्स करना

dateStr := "2025-03-15 14:30:00"t, err := time.Parse("2006-01-02 15:04:05", dateStr)if err != nil {    panic(err)}fmt.Println(t) // 2025-03-15 14:30:00 +0000 UTC


समय क्षेत्रों के साथ कार्य

loc, _ := time.LoadLocation("Europe/Moscow")moscowTime := time.Now().In(loc)fmt.Println("मास्को समय:", moscowTime.Format("15:04:05"))


2. लाइब्रेरी carbon



पैकेज github.com/golang-module/carbon लोकप्रिय PHP लाइब्रेरी Carbon का Go-एनालॉग है। यह तिथियों के साथ कार्य के लिए एक सुविधाजनक API प्रदान करता है, जिसमें सापेक्ष तिथियाँ, मानव-पठनीय प्रारूप और श्रृंखलाबद्ध कॉल शामिल हैं।



स्थापना

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


उपयोग के उदाहरण

package main

import ( "fmt" "github.com/golang-module/carbon/v2")

func main() { // वर्तमान तिथि now := carbon.Now() fmt.Println(now.ToDateString()) // 2025-03-15

// सापेक्ष तिथियाँ fmt.Println(now.AddDays(7).ToDateString()) // 2025-03-22 fmt.Println(now.SubMonths(1).ToDateString()) // 2025-02-15 fmt.Println(now.StartOfMonth().ToDateString()) // 2025-03-01 fmt.Println(now.EndOfMonth().ToDateString()) // 2025-03-31

// मानव-पठनीय प्रारूप fmt.Println(now.DiffForHumans()) // अभी अभी

// कई प्रारूपों के समर्थन के साथ पार्सिंग t := carbon.Parse("2025-03-15 14:30:00") fmt.Println(t.ToDateTimeString()) // 2025-03-15 14:30:00

// समय क्षेत्रों के साथ कार्य cst := carbon.Now(carbon.NewYork) fmt.Println(cst.ToDateTimeString()) // न्यूयॉर्क में समय}


3. लाइब्रेरी now



पैकेज github.com/jinzhu/now (GORM के लेखक द्वारा) समय अवधियों की शुरुआत और अंत प्राप्त करने के लिए सुविधाजनक फ़ंक्शन प्रदान करता है।



स्थापना

go get github.com/jinzhu/now


उदाहरण

package main

import ( "fmt" "github.com/jinzhu/now" "time")

func main() { t := time.Now() fmt.Println(now.BeginningOfMonth(t)) // 2025-03-01 00:00:00 fmt.Println(now.EndOfMonth(t)) // 2025-03-31 23:59:59 fmt.Println(now.BeginningOfYear(t))

अनुशंसाएँ