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?
For it to be time.RFC1123Z
the day must be 02
not 2
.
package main
import (
"fmt"
"time"
)
func main() {
d := "Thu, 02 Mar 2017 10:44:13 +0100"
da, _ := time.Parse(time.RFC1123Z, d)
fmt.Println(da)
}
https://play.golang.org/p/JFtErfZTtk
If you cannot change the source time string you can alternatively parse it with the Mon, 2 Jan 2006 15:04:05 -0700
format:
da, _ := time.Parse("Mon, 2 Jan 2006 15:04:05 -0700", d)
References: