您很可能使用了错误的布局,并且没有检查返回的错误。
布局必须是此日期/时间,格式为您输入的时间为:
Mon Jan 2 15:04:05 -0700 MST 2006
请参阅以下工作代码:
layout := "2006-01-02 15:04:05 -0700 MST"t, err := time.Parse(layout, "2014-11-17 23:02:03 +0000 UTC")fmt.Println(t, err)
输出(在Go Playground上尝试):
2014-11-17 23:02:03 +0000 UTC <nil>
编辑:
在您的问题中,您
+在输入时间中包含了一个符号(作为区域偏移量的一部分),但是其他格式的时间却有误。
Time.String()使用以下格式字符串:
"2006-01-02 15:04:05.999999999 -0700 MST"
因此,可以使用它来解析时间,或者使用它
Time.Format()来生成可以指定布局的字符串表示形式,以便可以使用相同的布局来解析时间字符串。
第二轮:
您将时间字符串包含在URL中。该
+符号是URL编码中的特殊字符:它表示空格。因此,
+gets转换为空间(因此从您的时间字符串中消失了)。使用正确的URL编码!检出
net/url包装,然后查看本例。



