我有以下日期字符串:2017-09-04T04:00:00Z
我需要将此字符串解析为golang时间,以便在我的应用程序中提供统一的数据。这是迄今为止的代码:
parsedTime := "2017-09-04T04:00:00Z"
test, err := time.Parse(time.RFC3339, parsedTime)
check(err)
fmt.Println(test)
当我尝试运行程序时出现以下错误:
": extra text: 0:00 +0000 UTC parsing time "2017-09-04T04:00:00Z
如何添加要查找的额外文本或让解析器停止关注Z?
我也尝试了以下内容:
parsedTime := "2017-09-04T04:00:00Z"
test, err := time.Parse("2006-01-02T03:04:05Z", parsedTime)
check(err)
fmt.Println(test)
返回以下错误:
": extra text: 017-09-04T04:00:00Z
答案 0 :(得分:1)
您使用的两种格式都适用于当前版本的go:https://play.golang.org/p/Typyq3Okrd
var formats = []string{
time.RFC3339,
"2006-01-02T03:04:05Z",
}
func main() {
parsedTime := "2017-09-04T04:00:00Z"
for _, format := range formats {
if test, err := time.Parse(format, parsedTime); err != nil {
fmt.Printf("ERROR: format %q resulted in error: %v\n", format, err)
} else {
fmt.Printf("format %q yielded %s\n", format, test)
}
}
}
您能提供一个展示您问题的工作示例吗?您可以使用go playground获取可共享的代码段。