Go (Golang) में दिनांकों के साथ कार्य: time, carbon और now लाइब्रेरीज़

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

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

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

Go (Golang) में दिनांकों के साथ कार्य: लाइब्रेरीज़ का अवलोकन

\n\n

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

\n\n

1. मानक पैकेज time

\n\n

पैकेज time Go में दिनांकों के साथ कार्य करने का आधार है। इसमें प्रकार Time, Duration, पार्सिंग, फ़ॉर्मेटिंग, टाइमर और समय क्षेत्रों के साथ कार्य करने के लिए फ़ंक्शन शामिल हैं।

\n\n

दिनांक बनाना और फ़ॉर्मेट करना

\n\n
package main\n\nimport (\n    "fmt"\n    "time"\n)\n\nfunc main() {\n    // वर्तमान समय\n    now := time.Now()\n    fmt.Println("अभी:", now)\n\n    // एक विशिष्ट दिनांक बनाना\n    date := time.Date(2025, time.March, 15, 14, 30, 0, 0, time.UTC)\n    fmt.Println("विशिष्ट दिनांक:", date)\n\n    // फ़ॉर्मेटिंग (संदर्भ के रूप में "2006-01-02 15:04:05" अनिवार्य है)\n    fmt.Println("फ़ॉर्मेट:", date.Format("02.01.2006 15:04:05"))\n}\n
\n\n

स्ट्रिंग को दिनांक में पार्स करना

\n\n
func main() {\n    // फ़ॉर्मेट निर्दिष्ट करके पार्सिंग\n    str := "2025-03-15 14:30:00"\n    parsed, err := time.Parse("2006-01-02 15:04:05", str)\n    if err != nil {\n        panic(err)\n    }\n    fmt.Println("पार्स किया गया:", parsed)\n}\n
\n\n

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

\n\n
func main() {\n    loc, _ := time.LoadLocation("Europe/Moscow")\n    moscowTime := time.Now().In(loc)\n    fmt.Println("मास्को समय:", moscowTime)\n}\n
\n\n

दिनांकों के बीच अंतर

\n\n
func main() {\n    start := time.Date(2025, 1, 1, 0, 0, 0, 0, time.UTC)\n    end := time.Date(2025, 12, 31, 23, 59, 59, 0, time.UTC)\n    duration := end.Sub(start)\n    fmt.Printf("अंतर: %v (घंटे: %v)\\n", duration, duration.Hours())\n}\n
\n\n

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

\n\n

लाइब्रेरी carbon (github.com/golang-module/carbon) Go के लिए लोकप्रिय PHP लाइब्रेरी Carbon का एक पोर्ट है। यह दिनांकों के साथ कार्य करने के लिए एक सुविधाजनक fluent-इंटरफ़ेस प्रदान करती है।

\n\n

स्थापना

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

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

\n\n
package main\n\nimport (\n    "fmt"\n    "github.com/golang-module/carbon/v2"\n)\n\nfunc main() {\n    // वर्तमान दिनांक\n    now := carbon.Now()\n    fmt.Println("अभी:", now.ToString())\n\n    // दिनांक बनाना\n    date := carbon.Parse("2025-03-15 14:30:00")\n    fmt.Println("पार्स किया गया:", date.ToDateString())\n\n    // दिन जोड़ना\n    future := carbon.Now().AddDays(10)\n    fmt.Println("10 दिन बाद:", future.ToDateString())\n\n    // दिनों में अंतर\n    diff := carbon.Now().DiffInDays(carbon.Parse("2025-12-31"))\n    fmt.Printf("नए साल तक: %d दिन\\n", diff)\n\n    // फ़ॉर्मेटिंग\n    fmt.Println("कस्टम फ़ॉर्मेट:", carbon.Now().Format("d/m/Y H:i:s"))\n}\n
\n\n

सुविधाजनक विधियाँ

\n\n
    \n
  • StartOfDay() / EndOfDay() — दिन की शुरुआत/अंत
  • \n
  • IsWeekend() / IsWeekday() — सप्ताह के दिन की जाँच
  • \n
  • Age() — जन्म तिथि से आयु
  • \n
  • DiffForHumans() — मानव-पठनीय अंतर (जैसे, "3 दिन पहले")
  • \n
\n\n

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

\n\n

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

\n\n

स्थापना

\n\n
go get github.com/jinzhu/now
\n\n

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

\n\n
package main\n\nimport (\n    "fmt"\n    "time"\n    "github.com/jinzhu/now"\n)\n\nfunc main() {\n    // दिन की शुरुआत\n    beginningOfDay := now.BeginningOfDay()\n    fmt.Println("                    

अनुशंसाएँ