Go 如何解析“2019-09-19 04:03:01.77008087+0000 UTC”时间戳

Go 如何解析“2019-09-19 04:03:01.77008087+0000 UTC”时间戳,go,time,timestamp,utc,Go,Time,Timestamp,Utc,我如何解析这个时间戳 2019-09-19 04:03:01.77008087+0000 UTC 我尝试了以下方法: formatExample := obj.CreatedOn // obj.CreatedOn = "2019-09-19 04:03:01.770080087 +0000 UTC" time, err := time.Parse(formatExample, obj.CreatedOn) check(err) fmt.Println(time) 但作为输出,我得到的只是: 0

我如何解析这个时间戳

2019-09-19 04:03:01.77008087+0000 UTC

我尝试了以下方法:

formatExample := obj.CreatedOn // obj.CreatedOn = "2019-09-19 04:03:01.770080087 +0000 UTC"
time, err := time.Parse(formatExample, obj.CreatedOn)
check(err)
fmt.Println(time)
但作为输出,我得到的只是:

0001-01-01 00:00:00+0000 UTC

解析格式化字符串并返回它表示的时间值。布局通过显示如何定义参考时间来定义格式

2006年1月2日星期一15:04:05-0700 MST

如果它是值,将被解释;它作为输入格式的一个示例。然后将对输入字符串进行相同的解释


传递给解析的时间格式不是示例格式。每个时间字段都有一个不同的值:

Mon Jan 2 15:04:05 -0700 MST 2006
例如,如果你想用你的格式描述年份,你必须使用2006年。因此,您的格式必须是:

2006-01-02 15:04:05.000000000 -0700 MST
轻轻拍一下就可以了

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02 15:04:05 -0700 MST"
    t, _ := time.Parse(layout, "2019-09-19 04:03:01.770080087 +0000 UTC")
    fmt.Println(t)
}
产出:

2019-09-19 04:03:01.77008087+0000 UTC

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02 15:04:05 -0700 MST"
    t, _ := time.Parse(layout, "2019-09-19 04:03:01.770080087 +0000 UTC")
    fmt.Println(t)
}