【问题标题】:Go time parse returning different valuesGo time parse 返回不同的值
【发布时间】:2016-02-02 06:31:28
【问题描述】:

我遇到了一个问题,即 Go 时间解析在同一时区两次返回不同的值。

func timeParse() {
    layout := "Mon, 2 Jan 2006 03:04:05 -0700 (MST)"

    value1 := "Mon, 18 Jan 2016 01:48:52 -0800 (PST)"
    value2 :=  "Tue, 19 Jan 2016 17:49:33 -0800 (PST)"

    t1, _ := time.Parse(layout, value1)
    fmt.Println(t1)

    t2, _ := time.Parse(layout, value2)
    fmt.Println(t2)
}

输出:

2016-01-18 01:48:52 -0800 PST
0001-01-01 00:00:00 +0000 UTC

注意第二个没有正确解析。

【问题讨论】:

  • t2, _ := time.Parse()。 “错误”是您省略了返回的error(第二个返回值是error)。永远不要忽略错误。如果您打印它,您会看到:hour out of range

标签: parsing time go


【解决方案1】:

发现我的错误。布局预计 24 小时时间。 修正:

layout := "Mon, 2 Jan 2006 15:04:05 -0700 (MST)"

【讨论】:

    猜你喜欢
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    • 2021-04-15
    相关资源
    最近更新 更多