时间超出范围的时间。在golang中

时间:2017-03-18 16:04:39

标签: go

我正在尝试解析go中的日期时间字符串。我传递确切的字符串作为格式并获取和错误解析时间“01/31/2000 12:59 AM”:小时超出范围。 我从输入中获取该字符串。我怎样才能做到这一点?

以下是代码(https://play.golang.org/p/Kg9KfFpU2z

func main() {
    layout := "01/31/2000 12:59 AM"
    if t, err := time.Parse(layout, "01/31/2000 12:59 AM"); err == nil {
        fmt.Println("Time decoded:", t)
    } else {
        fmt.Println("Failed to decode time:", err)
    }
}

2 个答案:

答案 0 :(得分:0)

您的格式需要使用非常具体的日期和时间,请参阅文档:

https://golang.org/pkg/time/#example_Parse

  

Parse解析格式化的字符串并返回它的时间值   代表。布局通过显示引用如何定义格式   时间,定义为

     

Mon Jan 2 15:04:05 -0700 MST 2006

所以你需要https://play.golang.org/p/c_Xc_R2OHb

答案 1 :(得分:0)

根据您的共享代码,应将布局更改为include_directories进行修复:

注意: 如果您使用24小时制,则应将布局中的小时部分更改为01/02/2006 03:04 AM,并摆脱15 instead of 03部分,例如AM

01/02/2006 15:04

article很好,可以帮助您了解不同的布局。