Avatar ·

تحليل التاريخ والوقت بتنسيق RFC-3339 / ISO-8601 في Go

مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة في تحليل سلسلة التاريخ والوقت. أحتاج إلى معالجة بيانات من JSON API، حيث تأتي التواريخ بتنسيق "2023-12-25T15:30:00Z" أو "2023-12-25T18:30:00+03:00" (يبدو أنه RFC-3339 أو ISO-8601). أعلم أن في Go حزمة `time` مع دالة `time.Parse`، لكن لا أستطيع فهم أي قالب تنسيق يجب تحديده. جربت شيئاً مثل `"2006-01-02T15:04:05Z07:00"`، لكني أحصل على أخطاء. إليك الكود الخاص بي: ```go package main import ( "fmt" "time" ) func main() { dateStr := "2023-12-25T15:30:00Z" layout := "2006-01-02T15:04:05Z07:00" parsedTime, err := time.Parse(layout, dateStr) if err != nil { fmt.Println("خطأ في التحليل:", err) return } fmt.Println(parsedTime) } ``` يظهر خطأ: `parsing time "2023-12-25T15:30:00Z" as "2006-01-02T15:04:05Z07:00": cannot parse "Z" as "Z07:00"`. لقد جربت العديد من خيارات القوالب، لكن لا شيء يعمل. أرجو إرشادي كيف يمكن تحليل هذه التواريخ بشكل صحيح.