我有以下字符串:
Sun, 03 Jan 2016 10:00:07 CET
我想把它解析成时间,但似乎无法弄清楚如何编写格式。
这是我到目前为止所得到的:
layout := "Mon, 01 Jan 03:04:05"
t, _ := time.Parse(layout, "Sun, 03 Jan 2016 10:00:07 CET")
fmt.Println(t)
我得到的输出是:
0001-01-01 00:00:00 +0000 UTC
答案 0 :(得分:3)
首先:你默默地忽略了这个错误,它作为第二个返回值time.Parse
返回。我建议适当地处理错误。
其次,让我们看一下time.Parse
的文档:
Parse
解析格式化字符串并返回它所代表的时间值。 布局通过显示如果值为,将如何解释定义为Mon Jan 2 15:04:05 -0700 MST 2006
的参考时间来定义格式;它作为输入格式的一个例子。然后对输入字符串进行相同的解释。
time.Parse
函数期望其layout
参数表示固定的示例日期。因此,为了解析日期Sun, 03 Jan 2016 10:00:07 CET
,相应的示例布局字符串应为Mon, 02 Jan 2006 15:04:05 MST
:
layout := "Mon, 02 Jan 2006 15:04:05 MST"
t, err := time.Parse(layout, "Sun, 03 Jan 2016 10:00:07 CET")
if err != nil {
// handle the error somehow!
}
fmt.Println(t)