1 回答
TA贡献1827条经验 获得超8个赞
不知道你做错了什么(应该发布你的代码),但这实际上只是一个简单的函数调用:
s := "4-JAN-12 9:30:14"
t, err := time.Parse("2-JAN-06 15:04:05", s)
fmt.Println(t, err)
输出:
2012-01-04 09:30:14 +0000 UTC <nil>
在Go Playground上试一试。
请注意,time.Parse()返回 2 个值:解析time.Time值(如果解析成功)和可选error值(如果解析失败)。
请参阅以下示例,其中我故意指定了错误的输入字符串:
s := "34-JAN-12 9:30:14"
if t, err := time.Parse("2-JAN-06 15:04:05", s); err == nil {
fmt.Println("Success:", t)
} else {
fmt.Println("Failure:", err)
}
输出:
Failure: parsing time "34-JAN-12 9:30:14": day out of range
在Go Playground上试一试。
编辑:
现在您发布了代码和错误消息,您的问题是您的输入字符串包含前导和尾随引号!
删除前导和尾随引号,它将起作用。这是你的情况:
s := `"4-JAN-12 9:30:14"`
s = s[1 : len(s)-1]
if t, err := time.Parse("2-JAN-06 15:04:05", s); err == nil {
fmt.Println("Success:", t)
} else {
fmt.Println("Failure:", err)
}
输出(在Go Playground上试试):
Success: 2012-01-04 09:30:14 +0000 UTC
- 1 回答
- 0 关注
- 197 浏览
添加回答
举报