'Golang date parsing

I have a string like this

Fri, 3 Mar 2017 13:08:54 +0100

I need to convert this string in a time.Time object in Golang.

The layout seems to be RFC1123Z so I have try in this way

(RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone)

d := "Thu, 2 Mar 2017 10:44:13 +0100"
da, _ := time.Parse(time.RFC1123Z, d)
fmt.Println(da)

But I get this:

0001-01-01 00:00:00 +0000 UTC

What is wrong?



Solution 1:[1]

Try this

func ParseRFC1123Z(date string) (t time.Time, err error) {
    t, err = time.Parse(time.RFC1123Z, date)
    errOriginal := err
    if err != nil {
        t, err = time.Parse("Mon, 2 Jan 2006 15:04:05 -0700", date)
    }
    if err != nil {
        err = errOriginal
    }
    return 
}

https://go.dev/play/p/LwYRTBsM4KU

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 RoboTamer