تحليل التاريخ والوقت بتنسيق 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"`.
لقد جربت العديد من خيارات القوالب، لكن لا شيء يعمل. أرجو إرشادي كيف يمكن تحليل هذه التواريخ بشكل صحيح.