Go में दिनांक और समय के साथ कार्य करने का परिचय
दिनांक और समय के साथ कार्य करना किसी भी प्रोग्रामिंग भाषा में एक प्रमुख कार्य है। Go (Golang) भाषा एक शक्तिशाली और सहज पैकेज time प्रदान करती है, जो आपको सभी बुनियादी संचालन करने की अनुमति देता है: वर्तमान समय प्राप्त करना, स्ट्रिंग्स को पार्स करना, फ़ॉर्मेटिंग करना, अंतर की गणना करना, टाइमर बनाना और भी बहुत कुछ। कुछ अन्य भाषाओं के विपरीत, Go एक अद्वितीय संदर्भ समय प्रारूप का उपयोग करता है, जो कोड को अधिक पठनीय और पूर्वानुमानित बनाता है। इस लेख में, हम व्यावहारिक उदाहरणों के साथ time पैकेज की मुख्य क्षमताओं पर विस्तार से चर्चा करेंगे।
मुख्य प्रकार और वर्तमान समय प्राप्त करना
प्रकार time.Time
time पैकेज में केंद्रीय प्रकार time.Time संरचना है। यह सेकंड, नैनोसेकंड, समय क्षेत्र और मोनोटोनिक काउंटर (सटीक माप के लिए) के बारे में जानकारी संग्रहीत करता है।
वर्तमान क्षण प्राप्त करना
वर्तमान समय प्राप्त करने के लिए फ़ंक्शन time.Now() का उपयोग किया जाता है। यह सिस्टम सेटिंग्स के आधार पर स्थानीय समय लौटाता है।
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()) fmt.Println("घंटे:", now.Hour()) fmt.Println("मिनट:", now.Minute()) fmt.Println("सेकंड:", now.Second()) fmt.Println("नैनोसेकंड:", now.Nanosecond()) fmt.Println("सप्ताह का दिन:", now.Weekday())}मैन्युअल रूप से समय बनाना
आप फ़ंक्शन time.Date() का उपयोग करके एक विशिष्ट समय क्षण बना सकते हैं। यह वर्ष, महीना, दिन, घंटा, मिनट, सेकंड, नैनोसेकंड और समय क्षेत्र लेता है।
package main
import ( "fmt" "time")
func main() { // 15 मार्च 2025, 14:30:00, UTC specificDate := time.Date(2025, time.March, 15, 14, 30, 0, 0, time.UTC) fmt.Println("बनाई गई दिनांक:", specificDate)}दिनांकों का पार्सिंग और फ़ॉर्मेटिंग
Go का संदर्भ प्रारूप
Go फ़ॉर्मेटिंग के लिए एक अद्वितीय दृष्टिकोण का उपयोग करता है: YYYY-MM-DD जैसे कोड के बजाय संदर्भ दिनांक Mon Jan 2 15:04:05 MST 2006 (या संक्षेप में 2006-01-02T15:04:05Z07:00) का उपयोग किया जाता है। इसका मतलब है कि वर्ष निर्दिष्ट करने के लिए आप 2006 लिखते हैं, महीने के लिए 01, दिन के लिए 02, घंटे के लिए 15 (या 12-घंटे के प्रारूप के लिए 03), मिनट के लिए 04, सेकंड के लिए 05।
समय को स्ट्रिंग में फ़ॉर्मेट करना
विधि Format() दिए गए टेम्पलेट के अनुसार time.Time को स्ट्रिंग में बदलती है।
package main
import ( "fmt" "time")
func main() { now := time.Now() fmt.Println("मानक प्रारूप:", now.Format("2006-01-02 15:04:05")) fmt.Println("हिंदी प्रारूप:", now.Format("02.01.2006 15:04")) fmt.Println("केवल दिनांक:", now.Format("02 Jan 2006")) fmt.Println("12-घंटे का प्रारूप:", now.Format("03:04:05 PM"))}स्ट्रिंग को दिनांक में पार्स करना
फ़ंक्शन time.Parse() स्ट्रिंग को time.Time में बदलता है। यह महत्वपूर्ण है कि स्ट्रिंग टेम्पलेट से मेल खाए।
package main
import ( "fmt" "time")
func main() { dateStr := "2025-03-15 14:30:00" layout := "2006-01-02 15:04:05" parsedTime, err := time.Parse(layout, dateStr) if err != nil { fmt.Println("पार्सिंग त्रुटि:", err) return } fmt.Println("पार्स किया गया समय:", parsedTime) fmt.Println("सप्ताह का दिन:", parsedTime.Weekday())}समय क्षेत्र के साथ पार्सिंग
समय क्षेत्र वाली स्ट्रिंग्स के लिए time.ParseInLocation() का उपयोग करें या टेम्पलेट में ऑफ़सेट निर्दिष्ट करें (Z07:00)।
package main
import ( "fmt" "tim