我有一个像这样的字符串
Fri, 3 Mar 2017 13:08:54 +0100
我需要在 Golang 中的string
对象中转换此time.Time
。
布局似乎是RFC1123Z
,所以我尝试了这种方式
(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)
但我明白了:
0001-01-01 00:00:00 +0000 UTC
有什么问题?
答案 0 :(得分:0)
要成为time.RFC1123Z
,该日必须为02
而非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
如果您无法更改源时间字符串,您可以使用Mon, 2 Jan 2006 15:04:05 -0700
格式解析它:
da, _ := time.Parse("Mon, 2 Jan 2006 15:04:05 -0700", d)
参考文献: